echarts
Version:
Apache ECharts is a powerful, interactive charting and data visualization library for browser
68 lines (67 loc) • 2.42 kB
TypeScript
import GlobalModel from '../../model/Global.js';
import SeriesModel from '../../model/Series.js';
import ExtensionAPI from '../../core/ExtensionAPI.js';
import DataZoomModel from './DataZoomModel.js';
import { AxisBaseModel } from '../../coord/AxisBaseModel.js';
import { DataZoomAxisDimension } from './helper.js';
interface MinMaxSpan {
minSpan: number;
maxSpan: number;
minValueSpan: number;
maxValueSpan: number;
}
/**
* Operate single axis.
* One axis can only operated by one axis operator.
* Different dataZoomModels may be defined to operate the same axis.
* (i.e. 'inside' data zoom and 'slider' data zoom components)
* So dataZoomModels share one axisProxy in that case.
*/
declare class AxisProxy {
ecModel: GlobalModel;
private _dimName;
private _axisIndex;
private _valueWindow;
private _percentWindow;
private _dataExtent;
private _minMaxSpan;
private _dataZoomModel;
constructor(dimName: DataZoomAxisDimension, axisIndex: number, dataZoomModel: DataZoomModel, ecModel: GlobalModel);
/**
* Whether the axisProxy is hosted by dataZoomModel.
*/
hostedBy(dataZoomModel: DataZoomModel): boolean;
/**
* @return Value can only be NaN or finite value.
*/
getDataValueWindow(): [number, number];
/**
* @return {Array.<number>}
*/
getDataPercentWindow(): [number, number];
getTargetSeriesModels(): SeriesModel<import("../../util/types").SeriesOption<unknown, import("../../util/types").DefaultStatesMixin>>[];
getAxisModel(): AxisBaseModel;
getMinMaxSpan(): MinMaxSpan;
/**
* Only calculate by given range and this._dataExtent, do not change anything.
*/
calculateDataWindow(opt?: {
start?: number;
end?: number;
startValue?: number | string | Date;
endValue?: number | string | Date;
}): {
valueWindow: [number, number];
percentWindow: [number, number];
};
/**
* Notice: reset should not be called before series.restoreData() is called,
* so it is recommended to be called in "process stage" but not "model init
* stage".
*/
reset(dataZoomModel: DataZoomModel): void;
filterData(dataZoomModel: DataZoomModel, api: ExtensionAPI): void;
private _updateMinMaxSpan;
private _setAxisModel;
}
export default AxisProxy;