haster / java-chartjs Goto Github PK
View Code? Open in Web Editor NEWIntegration of ChartJs with Wicket
License: MIT License
Integration of ChartJs with Wicket
License: MIT License
Based upon what I've gathered during the research for #18, this is what I want to do:
To do that, we will:
release
parameters for the compiler and check for module usage (crashdata-parent 1.22)(Non-test) Dependencies and modularity:
dependency | modularity | module |
---|---|---|
java-chartjs-data | ||
jackson-annotations | automatic module name in manifest | com.fasterxml.jackson.annotation |
java-chartjs-serialization | ||
jackson-annotations | automatic module name in manifest | com.fasterxml.jackson.annotation |
jackson-core | automatic module name in manifest | com.fasterxml.jackson.core |
jackson-databind | automatic module name in manifest | com.fasterxml.jackson.databind |
jackson-datatype-jsr310 | automatic module name in manifest | com.fasterxml.jackson.datatype.jsr310 |
java-chartjs-wicket | ||
jackson-annotations | automatic module name in manifest | com.fasterxml.jackson.annotation |
jackson-core | automatic module name in manifest | com.fasterxml.jackson.core |
jackson-databind | automatic module name in manifest | com.fasterxml.jackson.databind |
jackson-datatype-jsr310 | automatic module name in manifest | com.fasterxml.jackson.datatype.jsr310 |
java-chartjs-data | module-info | nl.crashdata.chartjs.data |
java-chartjs-serialization | module-info | nl.crashdata.chartjs.serialization |
wicket-core | none (see WICKET-6585) | |
wicket-request | none (see WICKET-6585) | |
wicket-util | none (see WICKET-6585) | |
jdk-serializable-functional | module-info | org.danekja.jdk.serializable.functional |
openjson | none (see openjson/openjson#15) | |
commons-fileupload | none | |
commons-io | none | |
commons-collections4 | none | |
slf4j-api | none |
We have two locations where an objectmapper gets configured (SimpleGraphPanel and ChartJsDataTest) with the exact same settings. If users want to use the jackson-annotated classes from data but don't want to use any of the provided wicket panels, they might still want to use an objectmapper with the settings we recommend, which is hard to keep up to date.
Makes sense to have some kind of static 'getDefaultObjectMapper' method, maybe with a boolean flag for pretty print or not.
There are a number of ways to specify colors, see http://www.chartjs.org/docs/latest/general/colors.html. There should be a class, or a number of classes, so people can specify the colors and serialize it to a string without having to know too much javascript and where you can avoid the danger of javascript insertion.
Add some tests to ensure correct rendering/functioning under wicket, preferably some wicket tester things. To make sure it doesn't break when two panels are added to a page or when wicket upgrades.
It is a String now, should be a separate object which serializes to a string. Probably a few different objects to handle all the different cases, see http://www.chartjs.org/docs/latest/charts/area.html
If you use a time scale you need to be able to set a unit for the stepsize to work.
See http://www.chartjs.org/docs/latest/axes/cartesian/time.html
Wicket is only really used to provide the panel for wicket-chartjs-wicket. Most of the work in this project concerns filling the objects/data from Java and serializing to JSON. This is usable in every Java based web framework, not just Apache Wicket.
Add a set of test. Some simple serialisation tests should suffice, to ensure there is no crash for incorrectly configured builder for example.
It would probably need to be it's own module, but it might fit in the wicket-module.
It would start a simple wicket application with one or a few pages with graphs and use selenium to test these graphs a bit more. This would also enable us to test integration with front-end stuff such as the callback hooks from #20
At the minimum, java-chartjs should be usable in a JDK 11 / JMS-using application.
Ideally, java-chartjs would be fully java 11 built and JMS compliant. This would however probably break potential users who are still on java 8 or still not using JMS(correctly). (Do we even have such users?)
Would going full JMS be a major or minor version bump?
Would we want to maintain a java 8 (or at least non-JMS) branch for a while? How long?
Chartjs offers the ability to hook into callbacks upon clicking a point on the graph and such. It would be nice if you could register callbacks from the wicketpanel, especially if the callback would automatically call the serverside through Wicket ajax and you could handle the event in Java.
Upgrade to ChartJs major version 3
The readme should explain what this does, how to use it, and what to expect from each module.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.