报表中可以使用echarts图表。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.3 KiB

9 years ago
# ECharts图表插件开发文档
## 开发文档
[详细开发文档点击这里查看](https://kms.finedevelop.com/pages/viewpage.action?pageId=81570214&focusedCommentId=83937068#comment-83937068)
9 years ago
## 关键接口解释
`ChartTypeProvider`
9 years ago
介绍:该接口的作用是扩展图表类型引擎部分,一般继承`AbstractEChartsType`就可以了
9 years ago
`ChartTypeUIProvider`
9 years ago
介绍:该接口的作用是扩展图表类型的设计器部分,一般继承`AbstractEChartsTypeUI`就可以了
9 years ago
以上两个接口,都是在plugin.xml中进行配置以扩展图表类型的,使用class属性来对应相应的扩展类,plotID属性对应图表类型ID
9 years ago
## 关键类解释
每实现一种新类型的图表,都需要实现抽象类`AbstractEChartsType`来扩展已有的图表类型引擎以及实现抽象类`AbstractEChartsTypeUI`类扩展已有的图表类型的设计界面.
9 years ago
为了方便统一处理新的图表类型,我们继承内置的`com.fr.chart.impl.AbstractChartWithData`类实现一个全新的图表类[com.fr.solution.plugin.chart.echarts.common.base.AbstractECharts](echarts.md).
9 years ago
### 继承了AbstractEChartsType的类需要实现以下方法
9 years ago
// 该方法用户描述图表的子类型,饼图、玫瑰饼图等。
9 years ago
`public Chart[] getChartTypes()`
9 years ago
### 继承了AbstractEChartsTypeUI的类需要实现以下方法
9 years ago
// 该方法用于描述图表类型选择界面(一种图表还会有若干种子类型,所以需要这个界面)
9 years ago
[`public AbstractChartTypePane getPlotTypePane()`](echarts_type_pane.md)
9 years ago
// 该方法用于描述图表的名字
9 years ago
`public String getChartName()`
9 years ago
// 该方法用户描述此种类型的图表的小图标,一般在添加表单元素的选择界面可以看到
9 years ago
`public String getIconPath()`
9 years ago
// 该方法用于描述图表的子类型的名字
9 years ago
`public String[] getSubName()`
9 years ago
// 该方法用于描述图表对应的图片,图表选择界面使用
9 years ago
`public String[] getDemoImagePath()`
9 years ago
// 该方法用于描述此种图表类型的数据配置界面。默认是分类系列值。
9 years ago
`public AbstractDataPane getChartDataPane(AttributeChangeListener listener)`
9 years ago
### 所有新加的实现了XMLAble接口或者其子类的类,都必须要实现相等的判断方法,否者界面设计变化时无法正确检测到属性变化
`public boolean equals(Object ob)`
例如:AbstractECharts,EChartsTooltip等