UNPKG

@rdkmaster/jigsaw-labs

Version:

Jigsaw, the next generation component set for RDK

347 lines (346 loc) 10.5 kB
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; }