stories/feat.guide.stories.js (364 lines of code) (raw):

import React, { useEffect, useRef, useState } from 'react'; import { storiesOf } from '@storybook/react'; import { withKnobs, radios } from '@storybook/addon-knobs'; import { Wline, Wlinebar, Wbar } from '@alicloud/cloud-charts'; const lineBarData = [ { name: '机房1', type: 'bar', data: [ [1483372800000, 1892], [1483459200000, 7292], [1483545600000, 5714], [1483632000000, 5354], [1483718400000, 2014], [1483804800000, 22], [1483891200000, 11023], [1483977600000, 5218], [1484064000000, 8759], [1484150400000, 9981], [1484236800000, 4533], [1484323200000, 11398], [1484409600000, 1064], [1484496000000, 6494], ], }, { name: '机房2', type: 'bar', data: [ [1483372800000, 182], [1483459200000, 792], [1483545600000, 514], [1483632000000, 554], [1483718400000, 204], [1483804800000, 22], [1483891200000, 1023], [1483977600000, 528], [1484064000000, 879], [1484150400000, 981], [1484236800000, 453], [1484323200000, 1198], [1484409600000, 1064], [1484496000000, 694], ], }, { name: '机房3', type: 'line', yAxis: 1, data: [ [1483372800000, 11751], [1483459200000, 4078], [1483545600000, 2175], [1483632000000, 12048], [1483718400000, 1748], [1483804800000, 10494], [1483891200000, 9597], [1483977600000, 4788], [1484064000000, 2085], [1484150400000, 492], [1484236800000, 2965], [1484323200000, 4246], [1484409600000, 2160], [1484496000000, 11877], ], }, { name: '机房4', type: 'line', yAxis: 1, data: [ [1483372800000, 1151], [1483459200000, 4778], [1483545600000, 21175], [1483632000000, 19048], [1483718400000, 14748], [1483804800000, 18494], [1483891200000, 10597], [1483977600000, 8788], [1484064000000, 12985], [1484150400000, 2492], [1484236800000, 5965], [1484323200000, 10246], [1484409600000, 12160], [1484496000000, 6877], ], }, ]; const stories = storiesOf('guide', module); stories.addDecorator(withKnobs); stories.add('带标注线图', () => { const c = { appendPadding: [8, 0, 0, 0], xAxis: { type: 'time', mask: 'YYYY-MM-DD', }, guide: { area: { axis: 'y', value: [51, 70], status: 'warning', }, line: [ { axis: 'x', value: 1650038400000, status: 'warning', text: { title: 'X轴测试文案', // position: '', // align: '', // offsetY: 20, }, }, { axis: 'y', value: 60, status: 'warning', text: { title: 'Y轴测试文案', // position: '', // align: '', }, } ], filter: { axis: 'y', value: [51, 70], status: 'warning', }, }, // symbol: true, }; return ( <Wline config={c} data={[ { name: '资源健康度', data: [ [1649174400000, 79], [1650038400000, 0], [1650902400000, 79.56], [1651766400000, 79.62], [1652198400000, 0], ], }, ]} /> ); }); stories.add('带标注柱图', () => { const c = { appendPadding: [8, 0, 0, 0], xAxis: { type: 'timeCat', mask: 'YYYY-MM-DD', }, guide: { area: { axis: 'y', value: [51, 70], status: 'warning', }, line: [ { axis: 'x', value: 1650038400000, status: 'warning', text: { title: 'X轴测试文案', // position: '', // align: '', // offsetY: 20, }, }, { axis: 'y', value: 60, status: 'warning', text: { title: 'Y轴测试文案', // position: '', // align: '', }, } ], filter: { axis: 'y', value: [51, 70], status: 'warning', }, }, }; return ( <Wbar config={c} data={[ { name: '资源健康度', data: [ [1649174400000, 79], [1650038400000, 0], [1650902400000, 79.56], [1651766400000, 79.62], [1652198400000, 0], ], }, ]} /> ); }); stories.add('带标注横向柱图', () => { const c = { appendPadding: [20, 0, 0, 0], xAxis: { type: 'timeCat', mask: 'YYYY-MM-DD', }, guide: { area: { axis: 'y', value: [51, 70], status: 'warning', }, line: [ { axis: 'x', value: 1650038400000, status: 'warning', text: { title: 'X轴测试文案', // position: '', // align: '', // offsetY: 20, }, }, { axis: 'y', value: 60, status: 'warning', text: { title: 'Y轴测试文案', // position: '', // align: '', }, } ], filter: { axis: 'y', value: [51, 70], status: 'warning', }, }, column: false, }; return ( <Wbar config={c} data={[ { name: '资源健康度', data: [ [1649174400000, 79], [1650038400000, 0], [1650902400000, 79.56], [1651766400000, 79.62], [1652198400000, 0], ], }, ]} /> ); }); stories.add('带标注分面柱图', () => { const c = { appendPadding: [0, 20, 0, 20], xAxis: { // type: 'timeCat', // mask: 'YYYY-MM-DD', }, guide: { area: { axis: 'y', value: [51, 70], status: 'warning', }, line: [ { axis: 'x', value: '自建', status: 'warning', text: { title: 'X轴测试文案', // position: '', // align: '', // offsetY: 20, }, }, { axis: 'y', value: 60, status: 'warning', text: { title: 'Y轴测试文案', // position: '', // align: '', }, } ], filter: { axis: 'y', value: [51, 70], status: 'warning', }, }, facet: true, }; return ( <Wbar config={c} data={[ { name: '碳排量', data: [ ['联通', 50.61], ['自建', 91.67], ], facet: '分面1', }, { name: '度电排量', data: [ ['联通', 68], ['自建', 92], ], facet: '分面2', }, ]} /> ); }); stories.add('带标注线柱图', () => { const c = { xAxis: { type: 'timeCat', mask: 'YYYY-MM-DD', }, guide: { area: { axis: 'y', value: [5100, 7000], status: 'warning', }, line: { axis: 'y', value: 6000, status: 'warning', text: { title: '测试文案', // position: '', // align: '', }, }, filter: { axis: 'y', value: [5100, 7000], status: 'warning', }, }, symbol: true, }; return ( <Wlinebar config={c} data={lineBarData} /> ); });