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}
/>
);
}
}