import * as React from 'react'; import { IChartProps, ILineChartProps, LineChart } from '@fluentui/react-charting'; import { DefaultPalette } from '@fluentui/react/lib/Styling'; import { mergeStyles } from '@fluentui/react/lib/Styling'; import * as d3 from 'd3-format'; import { Toggle } from '@fluentui/react/lib/Toggle'; const calloutItemStyle = mergeStyles({ borderBottom: '1px solid #D9D9D9', padding: '3px', }); interface ILineChartEventsExampleState { width: number; height: number; allowMultipleShapes: boolean; } export class LineChartEventsExample extends React.Component<{}, ILineChartEventsExampleState> { constructor(props: ILineChartProps) { super(props); this.state = { width: 700, height: 330, allowMultipleShapes: false, }; } public render(): JSX.Element { return ( <>
{this._basicExample()}
); } private _onWidthChange = (e: React.ChangeEvent) => { this.setState({ width: parseInt(e.target.value, 10) }); }; private _onHeightChange = (e: React.ChangeEvent) => { this.setState({ height: parseInt(e.target.value, 10) }); }; private _onShapeChange = (ev: React.MouseEvent, checked: boolean) => { this.setState({ allowMultipleShapes: checked }); }; private _basicExample(): JSX.Element { const data: IChartProps = { chartTitle: 'Line Chart', lineChartData: [ { legend: 'From_Legacy_to_O365', data: [ { x: new Date('2020-03-03T00:00:00.000Z'), y: 297, }, { x: new Date('2020-03-04T00:00:00.000Z'), y: 284, }, { x: new Date('2020-03-05T00:00:00.000Z'), y: 282, }, { x: new Date('2020-03-06T00:00:00.000Z'), y: 294, }, { x: new Date('2020-03-07T00:00:00.000Z'), y: 294, }, { x: new Date('2020-03-08T00:00:00.000Z'), y: 300, }, { x: new Date('2020-03-09T00:00:00.000Z'), y: 298, }, ], color: DefaultPalette.blue, }, { legend: 'All', data: [ { x: new Date('2020-03-03T00:00:00.000Z'), y: 292, }, { x: new Date('2020-03-04T00:00:00.000Z'), y: 287, }, { x: new Date('2020-03-05T00:00:00.000Z'), y: 287, }, { x: new Date('2020-03-06T00:00:00.000Z'), y: 292, }, { x: new Date('2020-03-07T00:00:00.000Z'), y: 287, }, { x: new Date('2020-03-08T00:00:00.000Z'), y: 297, }, { x: new Date('2020-03-09T00:00:00.000Z'), y: 292, }, ], color: DefaultPalette.green, }, ], }; const rootStyle = { width: `${this.state.width}px`, height: `${this.state.height}px`, }; return (
event 1 message
, }, { event: 'event 2', date: new Date('2020-03-04T00:00:00.000Z'), onRenderCard: () =>
event 2 message
, }, { event: 'event 3', date: new Date('2020-03-04T00:00:00.000Z'), onRenderCard: () =>
event 3 message
, }, { event: 'event 4', date: new Date('2020-03-06T00:00:00.000Z'), onRenderCard: () =>
event 4 message
, }, { event: 'event 5', date: new Date('2020-03-08T00:00:00.000Z'), onRenderCard: () =>
event 5 message
, }, ], strokeColor: '#111111', labelColor: '#111111', labelHeight: 18, labelWidth: 50, mergedLabel: (count: number) => `${count} events`, }} height={this.state.height} width={this.state.width} />
); } }