/// /// /// import React from 'react'; import { TagSchema } from './libs/dataset'; import './Scalar.module.less'; import 'echarts/lib/chart/line'; import 'echarts/lib/component/dataZoom'; import 'echarts/lib/component/toolbox'; import 'echarts/lib/component/tooltip'; import 'echarts/lib/component/legend'; import 'echarts/lib/component/legendScroll'; import 'echarts/lib/component/markPoint'; import './Scalar.global.less'; import { AxisType } from '../AxisForm'; export interface ScalarAxisConfigSchema { axisType: AxisType; startValue: number; endValue: number; time: number; } interface ScalarValueSchema { iteration: number; value: number; created: number; } interface ScalarDataSourceSchema { [key: string]: ScalarValueSchema[]; } interface ScalarProps { tasks: { id: string; name: string; }[]; tags: TagSchema[]; dataSource: ScalarDataSourceSchema; imageName: string; isMetric?: boolean; } interface ScalarStates { canZoom: boolean; smoothWeight: number; updateHandler: boolean; fullScreen: boolean; dataSource: ScalarDataSourceSchema; tags: string[]; } declare class Scalar extends React.Component { private _mounted; private _echartsInstance; private _container; private scalardb; constructor(props: any); updateData: (tags: TagSchema[], dataSource: ScalarDataSourceSchema) => void; /** * 一些不是state的记录值 */ private _noState; changeAxis: (xAxisType: AxisType, startValue: number, endValue: number) => void; restore: () => void; /** * 用于判断是否需要重新渲染echarts */ get series(): echarts.EChartOption.SeriesLine[]; get dataRange(): { x: { startValue: number; endValue: number; }; y: { startValue: number; endValue: number; }; }; getOptions: () => echarts.EChartOption; get smoothWeightPercent(): number; /** * methods声明 */ init(): Promise; truncateName(text: string, length: number, keepOverflow: boolean): string; handleWeightChange: import("lodash").DebouncedFunc<(val: number) => void>; private _onEvents; render(): React.JSX.Element; } export default Scalar;