【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
themeMidnightConfluence
public class YourCharts extends Charts {


    @Override


    public JSONObject
 toJSON(Repository repo) throws JSONException {


        //通过getChartData()得到你需要的数据,把这些数据转成自定义的json格式,前端会收到这个json


        return null;


    }




    @Override


    public String
 getChartID() {


        //这里返回值与plugin.xml配置中的plotID一致。


        return yourPlotID;


    }






    @Override


    public void
 writeXML(XMLPrintWriter xmlPrintWriter) {


        //图表属性配置信息会被存储在xml中,不考虑自定义图表样式,不用实现。


    }




    @Override


    public void
 readXML(XMLableReader xmLableReader) {


        //和writeXML一样,这里是读配置信息


}




}


第二步,继承AbstractIndependentChartsProvider类,实现以下几个方法:


getChartName():返回插件的名字,供报表页面新增图表使用


getChartTypes():返回上一步创建的存储图表数据的类


getRequiredJS():你的图表交互的js


getWrapperName():JS对象名,该对象一般是一个函数,执行后会在给定的dom中绘制图表


getChartImagePath():图表的图标,文件存在images下面


currentAPILevel():当前接口的API等级用于判断是否要升级插件


public class YourChartsProvider extends
AbstractIndependentChartsProvider {


    @Override


    public String
getChartName() {


        return "你的图表插件名字";


    }




    @Override


    public Chart[]
getChartTypes() {


        //返回上一步创建的存储图表数据的类,即YourCharts


        return new
YourCharts[]{new YourCharts()};


    }




    @Override


    public String[]
getRequiredJS() {


        //你的图表交互的js,所依赖的其他js文件,比如echarts.js在另外地方配置,后边会提到


        return new
String[]{


               
"/com/fr/plugins/xxx/web/echarts.bridge.js"


        };


    }




    @Override


    public String
getWrapperName() {


        //JS对象名,该对象一般是一个函数,执行后会在给定的dom中绘制图表 


        return
"EChartsFactory";


    }




    @Override


    public String
getChartImagePath() {


        //你的图表插件的图标


        return
"com/fr/plugins/xxx/images/xxx.png";


    }




    @Override 


    public int
currentAPILevel() {


        //当前接口的API等级用于判断是否要升级插件


        return
CURRENT_API_LEVEL;


    }

	}
}