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