@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
347 lines (346 loc) • 10.5 kB
TypeScript
import { EchartLegend, EchartOptions, EchartTitle, EchartTooltip } from "./echart-types";
import { TableDataBase } from "./table-data";
export declare type GraphMatrixRow = (string | number)[];
export declare type GraphDataHeader = string[];
export declare type GraphDataField = string[];
export declare type GraphDataRowDescriptor = string[];
export declare type GraphDataMatrix = GraphMatrixRow[];
export declare abstract class AbstractGraphStyle {
protected abstract createChartOptions(): EchartOptions;
}
/**
* 这是所有的图形数据的基类,正如类名所提示的,这个类是抽象的。
*
* Jigsaw的图形是基于[echarts 3.x](http://echarts.baidu.com/index.html)实现的,因此在使用这个类来描述一个图之前,
* 请确保你已经具备了echarts的相关知识了。其中最主要的是需要熟悉[echarts的配置项](http://echarts.baidu.com/option.html#title)。
*
* 图形数据是Jigsaw数据体系中的一个分支,关于Jigsaw数据体系详细介绍,请参考`IComponentData`的说明
*/
export declare abstract class AbstractGraphData extends TableDataBase {
/**
* 图形的数据,二维数组。
*
* @type {Array}
*/ data: GraphDataMatrix;
header: GraphDataHeader;
rowDescriptor: GraphDataRowDescriptor;
field: GraphDataField;
protected abstract createChartOptions(): EchartOptions;
/**
* 从数据的特征上判断当前对象是否是一个图形数据
*
* @param data
* @returns {boolean}
*/
static isGraphData(data: any): boolean;
constructor(/**
* 图形的数据,二维数组。
*
* @type {Array}
*/ data?: GraphDataMatrix, header?: GraphDataHeader, rowDescriptor?: GraphDataRowDescriptor, field?: GraphDataField);
private _optionsPatch;
optionsPatch: EchartOptions;
patchOptions(patchOpt: EchartOptions, suppressWarning?: boolean): void;
echartOptions: EchartOptions;
readonly options: EchartOptions;
private _setupOptions(opt);
ajaxSuccessHandler(data: any): void;
ajaxErrorHandler(error: any): void;
fromObject(data: any): AbstractGraphData;
private _makeFields();
clear(): void;
protected isDataValid(data: any, ...checkProperty: any[]): boolean;
}
/**
* 这是一个通用的图形数据,提供给它一个`EchartOptions`,它就可以渲染出对应的图了。
*
* Jigsaw有计划对常用的图形做封装,包括使用接口和样式,尽情期待。
*
* 图形数据是Jigsaw数据体系中的一个分支,关于Jigsaw数据体系详细介绍,请参考`IComponentData`的说明
*/
export declare class GraphData extends AbstractGraphData {
constructor(options?: EchartOptions);
protected createChartOptions(): EchartOptions;
/**
* 用于通过type属性快速构建出对应的图形类型实例
*
* @param rawTableData
* @returns {AbstractGraphData}
*/
static of(rawTableData: any): AbstractGraphData;
private static _createGraphData<T>(ClassName, rawData);
}
export declare abstract class AbstractNormalGraphData extends AbstractGraphData {
title: EchartTitle | string;
legend: EchartLegend;
tooltip: EchartTooltip;
private _data;
data: any;
protected _extendOption(option: EchartOptions): void;
}
/**
* @internal
*/
export declare class OutlineMapData extends AbstractNormalGraphData {
protected createChartOptions(): any;
}
/**
* 饼图
*/
export declare class PieGraphData extends AbstractNormalGraphData {
protected createSeries(): any;
protected optionsTemplate: EchartOptions;
protected createChartOptions(): EchartOptions;
}
export declare class PieGraphDataByRow extends PieGraphData {
protected createSeries(): any;
protected createChartOptions(): EchartOptions;
}
/**
* 环形对比图
*/
export declare class DoughnutGraphData extends AbstractNormalGraphData {
private _calcSeries();
protected optionsTemplate: EchartOptions;
protected createChartOptions(): any;
}
/**
* 环形比例图
*/
export declare class DoughnutRateGraphData extends AbstractNormalGraphData {
protected optionsTemplate: EchartOptions;
protected createChartOptions(): any;
}
/**
* 环形得分图
*/
export declare class DoughnutScoreGraphData extends AbstractNormalGraphData {
protected optionsTemplate: EchartOptions;
protected createChartOptions(): any;
}
/**
* 折线图
*/
export declare class LineGraphData extends AbstractNormalGraphData {
protected defaultType: string;
protected createSeries(): any;
protected optionsTemplate: EchartOptions;
protected createChartOptions(): EchartOptions;
}
/**
* 加这个类是为了保持向下兼容
* @internal
*/
export declare class LineBarGraphData extends LineGraphData {
}
export declare class LineGraphDataByRow extends LineGraphData {
protected createSeries(): any;
protected createChartOptions(): EchartOptions;
}
/**
* 柱状图
*/
export declare class BarGraphData extends LineGraphData {
protected defaultType: string;
}
/**
* 柱状图(按行)
*/
export declare class BarGraphDataByRow extends LineGraphDataByRow {
protected defaultType: string;
}
/**
* 条形图
*/
export declare class StripGraphData extends AbstractNormalGraphData {
protected getBrowserInfo(): -10 | -15;
protected getGridRight(): number;
protected optionsTemplate: EchartOptions;
protected createChartOptions(): any;
}
/**
* 条形时序图
*/
export declare class StripSequenceGraphData extends StripGraphData {
protected createChartOptions(): any;
}
/**
* 条形色值图
*/
export declare class StripColorGraphData extends AbstractNormalGraphData {
protected optionsTemplate: EchartOptions;
protected createSeries(): any[][];
protected createChartOptions(): EchartOptions;
}
/**
* 堆叠区域图
*/
export declare class StackedAreaGraphData extends AbstractGraphData {
protected createChartOptions(): any;
}
/**
* 仪表盘
*/
export declare class GaugeGraphData extends AbstractNormalGraphData {
protected createChartOptions(): any;
}
/**
* 散点图
*/
export declare class ScatterGraphData extends AbstractNormalGraphData {
protected optionsTemplate: EchartOptions;
protected createChartOptions(): EchartOptions;
}
/**
* 雷达图
*/
export declare class RadarGraphData extends AbstractNormalGraphData {
protected createSeries(): any;
private _calcRadar();
protected optionsTemplate: EchartOptions;
protected createChartOptions(): any;
}
/**
* K线图
*/
export declare class KLineGraphData extends AbstractNormalGraphData {
protected createSeries(): any[];
sampleColors: string[];
vmaxColors: string[];
protected optionsTemplate: {
color: string[];
tooltip: {
trigger: string;
position: (point: any) => any[];
};
legend: {
left: string;
data: any[];
itemWidth: number;
itemHeight: number;
top: number;
inactiveColor: string;
itemGap: number;
selected: {};
};
grid: {
left: number;
right: number;
top: number;
};
calculable: boolean;
xAxis: {
type: string;
boundaryGap: boolean;
axisLabel: {
interval: number;
};
splitLine: {
interval: number;
};
scale: boolean;
data: any[];
}[];
yAxis: {
type: string;
splitNumber: number;
axisLabel: {
interval: number;
};
}[];
series: any[];
};
protected createChartOptions(): EchartOptions;
}
/**
* 箱线图
*/
export declare class BoxPlotGraphData extends AbstractGraphData {
title: string;
protected createChartOptions(): any;
}
/**
* 热力图
*/
export declare class HeatGraphData extends AbstractNormalGraphData {
protected createChartOptions(): any;
}
/**
* 关系图
*/
export declare class RelationalGraphData extends AbstractGraphData {
data: any[];
title: string;
protected createChartOptions(): any;
}
/**
* 漏斗图
*/
export declare class FunnelPlotGraphData extends AbstractNormalGraphData {
protected optionsTemplate: {
title: {
text: string;
left: string;
};
tooltip: {
trigger: string;
formatter: string;
};
toolbox: {
feature: {
dataView: {
readOnly: boolean;
};
restore: {};
saveAsImage: {};
};
};
legend: {
left: string;
data: any[];
};
calculable: boolean;
series: {
name: string;
type: string;
left: string;
top: number;
bottom: number;
width: string;
min: number;
max: number;
minSize: string;
maxSize: string;
sort: string;
gap: number;
label: {
normal: {
show: boolean;
position: string;
};
emphasis: {
textStyle: {
fontSize: number;
};
};
};
labelLine: {
normal: {
length: number;
lineStyle: {
width: number;
type: string;
};
};
};
itemStyle: {
normal: {
borderColor: string;
borderWidth: number;
};
};
data: any[];
}[];
};
protected createChartOptions(): any;
}