Commit Graph

303 Commits

Author SHA1 Message Date
Simon Brunel
29115c9d2c Handle data visibility per chart
New Chart.Element.hidden bool flag storing the visibility state of its associated data. Since elements belong to a specific chart, this change allows to manage data visibility per chart (e.g. when clicking the legend of some charts).

This commit also changes (fixes?) the polar chart animation when data visibility changes. Previous implementation was affected by an edge effect due to the use of NaN as hidden implementation.
2016-04-26 12:46:29 +02:00
Simon Brunel
82b1e5cd99 Handle effective dataset visibility per chart
Introduced a new meta.hidden 3 states flag (null|true|false) to be able to override dataset.hidden when interacting with the chart (i.e., true or false to ignore the dataset.hidden value). This is required in order to be able to correctly share dataset.hidden between multiple charts.

For example: 2 charts are sharing the same data and dataset.hidden is initially false: the dataset will be displayed on both charts because meta.hidden is null. If the user clicks the legend of the first chart, meta.hidden is changed to true and the dataset is only hidden on the first chart. If dataset.hidden changes, only the second chart will have the dataset visibility updated and that until the user click again on the first chart legend, switching the meta.hidden to null.
2016-04-26 12:46:27 +02:00
Simon Brunel
f3457c9941 Handle dataset type per chart
Dataset effective type is now stored under meta.type, allowing many charts to share the same dataset but with different types. Also move dataset.bar flag to meta.bar.
2016-04-26 12:46:26 +02:00
Simon Brunel
51aa9b4a27 Allow multiple charts sharing the same data
Meta info are now scoped by chart and moved under the dataset._meta map { chart.id -> meta }. Meta for a specific chart (and dataset) can be accessed using chart.getDatasetMeta(datasetIndex) or from the dataset controller using getMeta(). Note that helpers.uid() now generates an int (instead of a string) to make lookups in the _meta map faster.
2016-04-26 12:46:24 +02:00
Daan De Meyer
73493e2c9e Added default ("left") for position field in global scale defaults.
Documented scale position field in scale docs.
2016-04-26 03:09:35 +02:00
Evert Timberg
38812cd3c4 Only update the size of boxes that are not full width 2016-04-24 08:20:36 -04:00
Evert Timberg
8f0caed24b Fix adding data to pie, doughnut, and polar area charts 2016-04-23 10:52:02 -04:00
Evert Timberg
f6f8fe5959 Add in a beforeRender plugin event. Makes it easier to handle things that need to happen once at the start of animation but not on every frame 2016-04-22 21:04:55 -04:00
Evert Timberg
18e3b891d9 Remove commented code 2016-04-22 20:49:44 -04:00
Evert Timberg
dc7ad19f29 Support radar tooltip mode 'label' 2016-04-22 20:48:41 -04:00
Jan Potoms
58563fddf9 Fix typo in plugin 'destroy' 2016-04-21 17:25:37 +02:00
Evert Timberg
76b3494a0a Fix build and update to latest node js version. 2016-04-21 07:50:20 -04:00
Evert Timberg
9abc63b11e Plugin event in destroy 2016-04-17 18:55:20 -04:00
Evert Timberg
d131e7d07a Use apply instead of call so that the animation easing can be passed to the draw callbacks 2016-04-17 12:25:47 -04:00
Evert Timberg
7fa4c4c1b8 Initial plugin calls 2016-04-17 12:02:42 -04:00
Evert Timberg
16570b0c0c Plugin system + tests 2016-04-17 12:02:33 -04:00
Evert Timberg
58d18d6a48 Add configurable tick mark length. Use it to calculate appropriate sizing 2016-04-16 21:46:29 -04:00
Tanner Linsley
4f60eecc01 Better default tick rotation and tick autoskip settings (#2258)
* Better default tick rotation and tick autoskip settings

* scale.time: Use ctx to measure label, and <= instead of < for unit fitting

* Test Changes

* Passing Tests with new defaults
2016-04-16 17:38:03 -05:00
Simon Brunel
5836c19ec5 Optimize animation frame requests (#2268)
The animation service now keeps track of the active animation frame request and will skip new requests until the current one is executed. This can happen when processing mouse events, e.g. 'mousemove' and 'mouseout' events will trigger multiple renders.
2016-04-15 20:15:54 -04:00
dibsyjr1
5aa16a67c1 Fixed the generateLegend function
Fixed the generateLegend function to create the colour block next to the text instead of around it.
2016-04-13 16:03:08 +01:00
Tom Duncalf
0c854dd40c Allow gradients to be used as colors without causing errors when e.g. calling the color helper to generate the defualt colour value for hover 2016-04-13 09:46:39 +01:00
Evert Timberg
68b493732c Don't measure undefined or null strings. 2016-04-10 10:10:31 -04:00
Evert Timberg
d5fd737058 Merge pull request #2206 from nnnick/fix/constraint-width-percent
Allow percentages as the max-width/max-height of the container
2016-04-03 13:18:06 -04:00
Evert Timberg
95bd0a54dd Clip out the chart area so that things outside do not draw 2016-04-02 21:41:57 -04:00
Evert Timberg
3350d5fb13 Refactoring to reduce code size 2016-04-02 09:19:33 -04:00
Evert Timberg
b6d7ceba1c Add initial implementation of constraint percentage width / height support. Added tests for dom sizing methods. 2016-04-01 23:11:01 -04:00
etimberg
d8347039cf Better handling when data.datasets does not exist 2016-03-29 20:10:29 -04:00
Blake Niemyjski
798f643fab Removed the default padding
You should put a style on the container element
2016-03-24 14:07:35 -05:00
etimberg
79f38b49d8 Fix scale merge when the xAxes object is specified but the type is not 2016-03-20 11:12:26 -04:00
Evert Timberg
e090691ef7 Better use of default scale types. 2016-03-19 08:50:50 -04:00
Evert Timberg
04f1e57459 Fix zoom reset 2016-03-15 20:03:28 -04:00
Evert Timberg
f64324e2a8 Merge pull request #2129 from nnnick/fix/2037
Fix animation bug.
2016-03-13 12:29:48 -04:00
Evert Timberg
4fec7dfdbb Fix animation bug. Helpers.findNextWhere no longer returned the index of the item. This causes the wrong animation object to be removed. 2016-03-13 12:24:33 -04:00
100000001
136efeaf4d Moved _model xAlign and yAlign setting to Positioning section and
swapped y and x
2016-03-10 09:05:59 +01:00
100000001
5d2444a5ee Expose yAlign and xAlign as a tooltip option 2016-03-10 09:00:26 +01:00
Evert Timberg
c3f765857e Fix some time rounding problems 2016-03-05 22:58:34 -05:00
Evert Timberg
185ea3939d Take padding into account when determining the model coordinates from event coordinates 2016-02-28 15:32:15 -05:00
Evert Timberg
8d5b3809f6 Fix global font settings 2016-02-28 13:41:17 -05:00
Evert Timberg
431f930c15 Merge pull request #2067 from nnnick/fix/animations
Fix bar chart and doughnut chart animations
2016-02-27 12:38:43 -05:00
Evert Timberg
04e6926961 Fix bar chart and doughnut chart animations 2016-02-27 12:32:20 -05:00
Mathias Küsel
96315dd3c9 Much faster cache clean up 2016-02-27 17:19:33 +01:00
Ville Hämäläinen
0f6e329aaa fix alpha for tooltip colors 2016-02-25 20:17:40 +02:00
Tanner Linsley
50d0c98030 Tooltips now respect stacked ordering
Tooltips detect the stacked scale property now, reversing when
appropriate
2016-02-17 12:42:29 -07:00
Tanner Linsley
ee81d4a804 Reversible Legends
Legends can now be reversed with the `reversed: true` property.
2016-02-17 12:42:09 -07:00
Tanner Linsley
ac5be9bde2 Proper line and bar stacking order
Stacked line and bar charts now behave predictably with the first
dataset on the bottom stacked upwards.
2016-02-17 12:41:32 -07:00
Evert Timberg
4c35bba639 When the last label would overlap with the previously shown label, skip the previously shown one 2016-02-15 10:43:19 -05:00
Evert Timberg
37b3fb5d6c Legend tests + fix minor bug where padding was not taken into account when going down to the next line 2016-02-15 09:23:31 -05:00
Evert Timberg
e589734cbb Title block tests 2016-02-14 18:04:12 -05:00
etimberg
01b88f19df Clean up code climate style issues and formatting. 2016-02-14 17:06:00 -05:00
etimberg
f6951816a0 Improve joshing reporting. Added a JSHint config file.
Fixed JSHint warnings.
2016-02-13 20:12:26 -05:00