import * as React from 'react'; import JqxChart, { IChartProps } from 'jqwidgets-scripts/jqwidgets-react-tsx/jqxchart'; class App extends React.PureComponent<{}, IChartProps> { private eventText = React.createRef(); constructor(props: {}) { super(props); this.chartEvent = this.chartEvent.bind(this); const sampleData: any = [ { Day: 'Monday', Keith: 30, Erica: 15, George: 25 }, { Day: 'Tuesday', Keith: 25, Erica: 25, George: 30 }, { Day: 'Wednesday', Keith: 30, Erica: 20, George: 25 }, { Day: 'Thursday', Keith: 35, Erica: 25, George: 45 }, { Day: 'Friday', Keith: 20, Erica: 20, George: 25 }, { Day: 'Saturday', Keith: 30, Erica: 20, George: 30 }, { Day: 'Sunday', Keith: 60, Erica: 45, George: 90 } ]; this.state = { description: 'Time spent in vigorous exercise', padding: { left: 5, top: 5, right: 5, bottom: 5 }, seriesGroups: [ { series: [ { dataField: 'Keith', displayText: 'Keith' }, { dataField: 'Erica', displayText: 'Erica' }, { dataField: 'George', displayText: 'George' } ], type: 'column', valueAxis: { maxValue: 100, minValue: 0, title: { text: 'Time in minutes' }, unitInterval: 10 } } ], source: sampleData, title: 'Fitness & exercise weekly scorecard', titlePadding: { left: 90, top: 0, right: 0, bottom: 10 }, xAxis: { dataField: 'Day', type: 'basic' } }; } public render() { return (
); } private chartEvent(event: any) { let eventData; if (event) { if (event.args) { if (event.type === 'toggle') { eventData = '
Last Event: ' + event.type + ', Serie DataField: ' + event.args.serie.dataField + ', visible: ' + event.args.state + '
'; return; } eventData = '
Last Event: ' + event.type + ', Serie DataField: ' + event.args.serie.dataField + ', Value: ' + event.args.elementValue + '
'; } else { eventData = '
Last Event: ' + event.type + ''; } this.eventText.current!.innerHTML = eventData; } } } export default App;