项目作者: dynamia-projects

项目描述 :
ChartJS for ZK (java web framework)
高级语言: Java
项目地址: git://github.com/dynamia-projects/chartjs-zk.git
创建时间: 2016-06-06T13:38:25Z
项目社区:https://github.com/dynamia-projects/chartjs-zk

开源协议:Other

下载


ChartJS for ZK is now part of DynamiaTools Framework https://github.com/dynamiatools/framework

Maven Central

Chart.js for ZK

This library let you use Chart.js v2.7.3 (https://github.com/chartjs/Chart.js) framework in ZK application using pure Java or ZUL.

Current Version: 2.7.3

Demo

Please play with the demo to learn how to use the new api and all charts types.

Bulding

This is a regular maven project, download and build it using the following command:

  1. mvn clean install

Installation

Just add chartjs-zk-xx.jar to your project dependencies:

Maven

  1. <dependency>
  2. <groupId>tools.dynamia.zk.addons</groupId>
  3. <artifactId>chartjs-zk</artifactId>
  4. <version>2.7.3</version>
  5. </dependency>

Gradle

  1. compile "tools.dynamia.zk.addons:chartjs-zk:2.7.3"

Usage

From zul

  1. <chartjs type="pie" title="My Charts" data="@bind(vm.chartData)"></chartjs>
  1. public class PieChartViewModel{
  2. public ChartjsData getChartData(){
  3. CategoryChartjsData chartData = new CategoryChartjsData();
  4. chartData.add("2014", 1030);
  5. chartData.add("2015", 200);
  6. chartData.add("2016", 3500);
  7. return chartData;
  8. }
  9. }

From java

  1. import tools.dynamia.chartjs.*;
  2. import org.zkoss.zul.*
  3. public class PieChart{
  4. public void init(){
  5. Chartjs chart = new Chartjs();
  6. chart.setType(Chartjs.TYPE_PIE);
  7. chart.setTitle("My Chartjs");
  8. chart.setData(getChartData());
  9. Window window = new Window();
  10. window.appendChild(chart);
  11. window.doModal();
  12. }
  13. public ChartjsData getChartData(){
  14. CategoryChartjsData chartData = new CategoryChartjsData();
  15. chartData.add("2014", 1030);
  16. chartData.add("2015", 200);
  17. chartData.add("2016", 3500);
  18. return chartData;
  19. }
  20. }

ChartjsData class follow the same model as chartjs JSON data but with helper methods. See Chartjs documentation http://www.chartjs.org/docs/

Supported Chart Types

  • bar
  • horizontalBar
  • line
  • pie
  • scatter
  • doughnut
  • radar
  • polarArea
  • bubble

Fluent API

  1. CategoryChartjsData data = new CategoryChartjsData();
  2. data.add("A", 11.1);
  3. data.add("B", 22.2);
  4. data.add("C", 33.3);
  5. data.add("D", 44.4);
  6. data.setDatasetLabel("The DataSet");
  7. Chartjs chart = new Chartjs(Chartjs.TYPE_BAR);
  8. chart.setData(data);
  9. chart.setOptions(
  10. ChartjsOptions.Builder.init()
  11. .scales(new Scales()
  12. .addY(Axe.Builder.init()
  13. .scaleLabel(ScaleLabel.Builder.init()
  14. .labelString("ChartJs For ZK")
  15. .display(true)
  16. .build()) // scale label
  17. .ticks(Ticks.Builder.init()
  18. .min(0)
  19. .max(100)
  20. .build()) // ticks
  21. .build())) //Axe
  22. .build() // options
  23. );
  24. chart.setWidth("100%");
  25. chart.setParent(parent);

What’s New ?

v2.7.2_R1

  • Upgrade to Chartjs 2.7.2
  • New Java API for all configurations parameters in ChartjsOptions
  • Dataset now can use Scales (axis) from Java
  • Dataset has all chartjs properties
  • Builders for POJO Classes (fluent api)
  • New versioning system. First 3 numbers means the Chart.js version used. Identifier _R1 means the release number of this project.
  • New GroupId tools.dynamia.zk.addons. We start developing new addons for zk
  • Fixes and clean code
  • Basic Demo

v2.7.3

  • Upgrade to Chartjs 2.7.3

License

Chartjs-ZK is available under the Apache 2 License.

Want contribute?

Please read Contributing Guidelines