import React from "react"; import { observable, action, makeObservable } from "mobx"; import { observer } from "mobx-react"; import classNames from "classnames"; import { Checkbox, Radio } from "eez-studio-ui/properties"; import type { IChartsController, WaveformRenderAlgorithm, IChartController } from "eez-studio-ui/chart/chart"; import { globalViewOptions } from "eez-studio-ui/chart/GlobalViewOptions"; //////////////////////////////////////////////////////////////////////////////// export const ChartViewOptions = observer( class ChartViewOptions extends React.Component< ChartViewOptionsProps & { chartsController: IChartsController; } > { render() { const chartsController = this.props.chartsController; const viewOptions = chartsController.viewOptions; return (
| Steps | |
| Time | ) => { this.xAxisSteps = event.target.value; const steps = event.target.value .split(",") .map(value => chartsController.xAxisController.unit.parseValue( value ) ) .sort(); if ( steps.length === 0 || !steps.every( step => step != null && step >= chartsController .xAxisController .unit .units[0] ) ) { this.xAxisStepsError = true; } else { this.xAxisStepsError = false; steps.sort(); viewOptions.setAxesLinesStepsX( steps as number[] ); } } )} /> |
| X axis | Y axis | ||
| Major | { this.majorSubdivisionHorizontal = event.target.value; const value = parseInt( event.target.value ); if ( isNaN(value) || value < 2 || value > 100 ) { this.majorSubdivisionHorizontalError = true; } else { this.majorSubdivisionHorizontalError = false; viewOptions.setAxesLinesMajorSubdivisionHorizontal( value ); } })} /> | by | { this.majorSubdivisionVertical = event.target.value; const value = parseInt( event.target.value ); if ( isNaN(value) || value < 2 || value > 100 ) { } else { viewOptions.setAxesLinesMajorSubdivisionVertical( value ); } })} /> |
| Minor | { this.minorSubdivisionHorizontal = event.target.value; const value = parseInt( event.target.value ); if ( isNaN(value) || value < 2 || value > 10 ) { } else { viewOptions.setAxesLinesMinorSubdivisionHorizontal( value ); } })} /> | by | { this.minorSubdivisionVertical = event.target.value; const value = parseInt( event.target.value ); if ( isNaN(value) || value < 2 || value > 10 ) { } else { viewOptions.setAxesLinesMinorSubdivisionVertical( value ); } })} /> |