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'
};