import React, { Component } from 'react'; import { LineChart, LineSeries } from 'reaviz'; import { largeDateData, randomNumber, generateDate, signalStageData, signalStages } from 'reaviz-data-utils'; import { LinearXAxis, LinearXAxisTickSeries, LinearXAxisTickLabel, LinearYAxis, LinearYAxisTickSeries, LinearYAxisTickLabel } from 'reaviz'; import { TooltipArea, tooltipTheme } from 'reaviz'; import { ChartBrush } from 'reaviz'; import { ScatterPlot, ScatterSeries, ScatterPoint } from 'reaviz'; import { BarChart, HistogramBarSeries } from 'reaviz'; import { range } from 'd3-array'; import { Tooltip } from 'reablocks'; import { GridlineSeries, Gridline, GridStripe } from 'reaviz'; import { ChartZoomPan } from 'reaviz'; export default { title: 'Utils/Brush' }; export const Line = () => ( } series={ } markLine={null} /> } xAxis={ } /> } /> } yAxis={ } /> } /> ); export const Scatter = () => ( } series={ } />} /> } yAxis={ } /> } /> ); export const Bar = () => { const barData = range(50) .filter(() => randomNumber(1, 2) % 2) .map((i) => ({ id: String(i), key: generateDate(randomNumber(i - 2, i + 2)), data: randomNumber(1, 10) })) .sort((a, b) => (a > b ? -1 : a < b ? 1 : 0)); return ( console.log(domain)} /> } data={barData} gridlines={null} yAxis={ } /> } xAxis={ } /> } /> } series={ } /> ); }; export const Bubble = () => { const data = range(20) .filter(() => randomNumber(1, 10) % 2) .map((i) => { return { key: generateDate(i), data: 1, metadata: { severity: randomNumber(1, 10) } }; }) .reverse(); return ( } series={ } symbol={(d) => { const scale = d.metadata.severity / 50; const size = scale * 100; return ( ); }} /> } /> } yAxis={ } /> } xAxis={ } /> } /> } gridlines={} />} /> ); }; export const DefaultSelection = () => ( } series={ } markLine={null} /> } xAxis={ } /> } /> } /> ); export const ZoomCombo = () => ; class ZoomBrushStory extends Component { state = { domain: undefined, brushing: false }; timeout: any; onBrushChange = ({ domain }) => { clearTimeout(this.timeout); this.timeout = setTimeout(() => this.setState({ brushing: false }), 3000); this.setState({ domain, brushing: true }); }; render() { const { brushing, domain } = this.state; const brushData = signalStageData.map((d) => ({ ...d, data: 1 })); return (
} gridlines={ } stripe={} /> } yAxis={ } /> } /> } zoomPan={ } />
} /> } series={ } size={(d) => { return d.metadata.severity + 5; }} /> } /> } brush={ } />
); } }