import React, { Fragment, useState } from 'react'; import { BarChart } from 'reaviz'; import { categoryData, largeCategoryData, nonZeroCategoryData } from 'reaviz-data-utils'; import { BarSeries, Bar, BarLabel, GuideBar } from 'reaviz'; import chroma from 'chroma-js'; import { range } from 'd3-array'; import { Stripes } from 'reaviz'; const targetSampleData = [ { key: 'DLP', data: 10, target: 15 }, { key: 'Malware', data: 30, target: 25 }, { key: 'IDS', data: 20, target: 23 }, { key: 'Phishing Attack', data: 40, target: 45 } ]; export default { tags: ['snapshot'], title: 'Charts/Bar Chart/Vertical/Single Series', component: BarChart, subcomponents: { BarSeries, Bar, BarLabel, GuideBar } }; export const Simple = () => ( } />} /> ); export const TargetMarker = () => ( ); export const CustomStyle = () => ( { if (data.key === 'DLP') { console.log('Style callback...', data); return { fill: 'blue' }; } }} /> } /> } /> ); export const LargeDataset = () => ( } /> ); export const Mask = () => ( } />} />} /> ); export const CustomColors = () => ( (index % 2 ? '#418AD7' : '#ACB7C9')} /> } /> ); export const Labels = () => ( } />} />} /> ); export const CustomBarWidth = () => ( } />} data={categoryData} /> ); export const LiveUpdating = () => { const [data, setData] = useState([...largeCategoryData]); const updateData = () => { const updateCount = Math.floor(Math.random() * 4) + 1; const newData = [...data]; let idx = 0; while (idx <= updateCount) { const updateIndex = Math.floor(Math.random() * data.length); newData[updateIndex].data = Math.floor(Math.random() * 91) + 10; idx++; } setData(newData); }; const sortData = () => { setData([...data].reverse()); }; return ( } />
); }; export const Autosize = () => (
); export const Performance = () => range(15).map((i) => (
)); export const NoAnimation = () => ( } /> ); export const Waterfall = () => ( } /> ); export const NonZero = () => ( } /> ); NonZero.story = { name: 'Non-Zero' };