Commit Graph

429 Commits

Author SHA1 Message Date
Evert Timberg
76d284c4ae Merge branch 'multiline_labels' of https://github.com/Tarqwyn/Chart.js into Tarqwyn-multiline_labels
Conflicts:
	src/core/core.scale.js
2016-06-04 20:48:26 -04:00
zachpanz88
148c66fe95 Update this -> me with master 2016-06-04 14:16:35 -04:00
zachpanz88
5fae4dd305 Change this -> me in source files
This change allows for smaller minified code in the final version, resulting in a smaller file size. Some files had previously used _this, but that has been changed to me to keep consistency throughout the project.
2016-06-04 14:14:16 -04:00
Evert Timberg
76a64930a3 Merge pull request #2696 from NoelOConnell/master
Fix for chart title not updating
2016-06-04 10:51:29 -04:00
Evert Timberg
ca07f72f6b Merge pull request #2698 from dennybiasiolli/fix_label_fillstyle
legend: fix rendering in browsers other than Chrome
2016-06-04 10:47:15 -04:00
Tarqwyn
e856dda04f Suggested changes from PR review
Changes to be committed:
	modified:   docs/02-Scales.md
	modified:   src/core/core.helpers.js
	modified:   src/core/core.scale.js
	modified:   test/core.helpers.tests.js
2016-06-03 20:15:29 +01:00
Tarqwyn
2bc8e3c7f6 This PR allows for multi-line labels, as per Slack discussion..
Usage: If a label is an `array` as opposed to a `string` i.e. `[["June","2015"], "July"]` then each element is treated as a seperate line. The appropriate calculations are made to determine the correct height and width, and rotation is still supported.

view samples/line-multiline-labels.html to see it working.

On branch multiline_labels
Changes to be committed:
	modified:   docs/03-Line-Chart.md
	new file:   samples/line-multiline-labels.html
	modified:   src/core/core.helpers.js
	modified:   src/core/core.scale.js
2016-06-03 17:12:19 +01:00
Denny Biasiolli
435b392e92 legend: fix rendering in browsers other than Chrome when dataset.backgroundColor is Array 2016-06-03 11:39:30 +02:00
Noel
54d1e49bb7 Fix for chart title not updating
https://github.com/chartjs/Chart.js/issues/2686

Chart options were using a cache value from initialize function.
Now updating values in the beforeUpdate lifecycle.
2016-06-03 09:07:14 +01:00
Evert Timberg
7ea36aead3 Add a way to know when a resize occurs. 2016-06-02 20:43:38 -04:00
Evert Timberg
829c2be2bc Merge pull request #2680 from chartjs/fix/clipping
Remove clipping and add plugin hooks.
2016-06-02 20:35:39 -04:00
Aaron Ballard
7f70afe864 Added a reference to Chart within Chart for Issue #2483 2016-06-02 16:04:33 -05:00
Evert Timberg
10f01088e4 add afterDatasetDraw in correct place 2016-06-01 07:18:27 -04:00
Evert Timberg
b96fdcaf85 Docs on new plugin callback 2016-05-31 22:28:22 -04:00
Evert Timberg
b22e32c007 Remove clipping and add plugin hooks. Zoom plugin can then do the clipping itself 2016-05-31 22:16:29 -04:00
Evert Timberg
600f5b9ba0 Improve core and polar area 2016-05-30 21:55:58 -04:00
Evert Timberg
6bc917c8e3 Improve testing on the CI 2016-05-28 21:08:20 -04:00
Evert Timberg
b646f6d816 Add a way of sorting tooltip items with a custom sort function 2016-05-28 20:47:36 -04:00
Evert Timberg
af5344462e Improve tooltip minification 2016-05-28 19:39:15 -04:00
Evert Timberg
8d20379e29 Initial tooltip tests + fix a bug when the tooltip beforeLabel and afterLabel callbacks returned strings 2016-05-28 15:26:46 -04:00
Evert Timberg
9269411799 Merge pull request #2657 from chartjs/tooltip-color-callback
Provide a way to configure the colour of tooltip items
2016-05-28 12:14:27 -04:00
Evert Timberg
f247536b4a When destroying the chart, any animations should be stopped. 2016-05-28 11:05:02 -04:00
Evert Timberg
66aa65be68 Tooltip now has a callback for configuring the colors of items displayed. Added docs and improved the options passed to the tooltip 2016-05-27 21:07:02 -04:00
Evert Timberg
46fc96bf4d Remove unused code from core controller. 2016-05-25 21:30:22 -04:00
Evert Timberg
d6289c6129 Convert title block to a plugin 2016-05-25 21:28:02 -04:00
Evert Timberg
1ae0f5e4d4 Legend is attached to the graph as a plugin. 2016-05-25 21:23:46 -04:00
Simon Brunel
08de9faf10 Fix #2418 Firefox old version compatibility
Old versions of FF doesn't accept accessing the computed style via the 'max-width' and 'max-height' CSS notations using brackets, in which case the returned value is undefined. Changed the constraint methods to use maxWidth and mawHeight instead and make sure to test valid values.
2016-05-25 22:51:41 +02:00
Simon Brunel
7f71990a40 Decomplexify Chart.core.controller.eventHandler
Refactor redundant code, use local variables and introduce a new helper to compare arrays (Chart.helpers.arrayEquals).
2016-05-22 00:58:02 +02:00
Simon Brunel
d584afb543 Refactor controller scale methods
Rewrite these two methods to reduce code duplication. Note that options.scale is not anymore mapped to 'radialScale' ID but to 'scale' ID (see ensureScalesHaveIDs), since this ID is not referenced anywhere in the code base.
2016-05-22 00:25:53 +02:00
Simon Brunel
7108f78d2f Refactor addElements and addElementAndReset
Data controllers should now rarely implement addElements and addElementAndReset but instead should define dataElementType (and optionally datasetElementType). Also remove some dead code (e.g. numBars, colorForNewElement, etc.).
2016-05-22 00:25:51 +02:00
Simon Brunel
a566d16e69 Refactor scale base pixel and point calculation. 2016-05-20 20:17:28 +02:00
Simon Brunel
8c5d8855c6 Merge pull request #2551 from chartjs/helper-perf-and-minification
Helpers improvements
2016-05-19 19:51:06 +02:00
Evert Timberg
ecb7ce133e Merge pull request #2590 from haschu/fix/2589
This fixes #2589
2016-05-19 07:02:58 -04:00
haschu
393db2a609 This fixes #2584 (#2592)
Improve scale auto-skipper when labels are not rotated
2016-05-18 18:20:06 -04:00
Evert Timberg
f24dddeda7 Merge pull request #2567 from adileo/master
Fixed tooltip not showing in NULL datapoint in multi line chart
2016-05-18 17:51:49 -04:00
Evert Timberg
d23b2395ff Merge pull request #2578 from simonbrunel/optimizations
Point element and line controller optimizations
2016-05-18 17:51:37 -04:00
Hagen Schulze
577c1406dd This fixes #2589 2016-05-18 20:42:54 +02:00
AllenJB
966d737617 Fix handling of moments by scale.getRightValue
When using {x: moment, y: value} datapoints
2016-05-18 17:38:20 +01:00
Ceane Lamerez
456ab9ca36 Fix #2574 - Add support to hide border on the chart 2016-05-17 21:35:19 +02:00
Simon Brunel
69521477a1 Remove useless hasOwnProperty checks
The Chart.helpers.each method uses Object.keys() to iterates on the object *own enumerable properties*, meaning that checking if object.hasOwnProperty() is useless.
2016-05-17 19:49:17 +02:00
Adileo Barone
4b540e70cf Fixed tooltip not showing in NULL datapoint in multi line chart 2016-05-16 21:02:57 +02:00
Evert Timberg
48368117e9 Helpers improvements 2016-05-14 15:59:40 -04:00
Simon Brunel
b64e03dbd0 Bump chartjs-color to version 2.0.0 (#2549)
Fix color animation because the color lib changed the `mix` implementation to match SASS behavior, so the weight specifies the amount of the first color that should be included in the returned color.
2016-05-14 13:35:35 -04:00
Blake Niemyjski
a3d75d2087 More perf and minification changes based on feedback 2016-05-14 08:58:42 -05:00
Blake Niemyjski
7e85245e4f Fixed unit tests :D 2016-05-13 22:39:11 -05:00
Blake Niemyjski
53b08415ad There were conflicting tick variables 2016-05-13 22:23:34 -05:00
Blake Niemyjski
bea68f1424 Performance and minification improvements 2016-05-13 22:07:39 -05:00
Evert Timberg
14021069c3 Merge branch 'master' into file-size-reduction
Conflicts:
	src/controllers/controller.doughnut.js
	src/controllers/controller.polarArea.js
2016-05-12 18:57:22 -04:00
Evert Timberg
41c043dd23 Merge branch 'master' of https://github.com/nnnick/Chart.js
Conflicts:
	docs/01-Scales.md
2016-05-12 18:22:55 -04:00
Evert Timberg
47f770c3ef Merge pull request #2524 from ashiguruma/master
Allow canvas patterns instead of colors
2016-05-12 18:20:40 -04:00
Tom Loudon
05bfb7e964 Added CanvasPattern global flag for jshint
The core.helpers file was failing linting checks as the global CanvasPattern was not defined. Added the `/* global CanvasGradient */` statement to make linting pass. Updates chartjs/Chart.js#1323
2016-05-12 22:58:54 +01:00
Tom Duncalf
7ee5af81af Add labelOffset option to scales 2016-05-11 10:43:22 +01:00
Tarqwyn
84b7d07526 Following a Slack conversation tadd new Callback to allow updates to datasets config (ie borderColor) based on results of the calculated scale, A typical use case would be apply a Gradient fill.
On branch feature_New_plugin_interface_afterScaleUpdate
Changes to be committed:
	modified:   dist/Chart.bundle.js
	modified:   dist/Chart.bundle.min.js

 #On branch feature_New_plugin_interface_afterScaleUpdate
 #Changes to be committed:
2016-05-10 15:59:12 +01:00
Tom Duncalf
3bef974c25 Add minRotation support 2016-05-10 12:33:36 +01:00
Evert Timberg
23722a8b25 Make the afterUpdate plugin method more useful 2016-05-09 17:14:15 -05:00
Tom Loudon
170fdab6a6 Removed 'background' from hover color helper name.
Patterns could be used for style attributes other than background e.g. stroke. Updates  chartjs/Chart.js#1323
2016-05-09 07:29:52 +01:00
Evert Timberg
b35b246414 Merge branch 'master' into file-size-reduction 2016-05-08 08:11:16 -04:00
Evert Timberg
166801055e Improvements to polar area controller. Moved common draw code up to core dataset controller 2016-05-07 21:04:39 -04:00
Tom Loudon
5866f73562 Added helper to allow a CanvasPattern for hover. Updates chartjs/Chart.js#1323
When a hover background isn't specified in the config for a chart a modified version of the default color is used. If the background color is a CanvasPattern object an error is triggered.

With this change the default background color will no longer be modified if it is a CanvasPattern.
2016-05-07 22:24:00 +01:00
Evert Timberg
5141c90c7b Revert unnecessary changes 2016-05-07 17:04:34 -04:00
Evert Timberg
33c7dbafd6 Use local variables + don't include text width for vertical scales with mirrored text 2016-05-07 16:26:44 -04:00
Evert Timberg
d13e7905dc Scales should have 0 cross size when not displayed 2016-05-07 14:18:36 -04:00
Evert Timberg
fc4c23c8d2 Allow updating scale defaults 2016-05-07 11:43:24 -04:00
Evert Timberg
1b6ffd623c Core.Title reductions 2016-05-05 21:01:48 -04:00
Evert Timberg
655163a7f5 Doughnut controller size reductions 2016-05-05 20:47:33 -04:00
Evert Timberg
3c33cdf760 core dataset controller update 2016-05-04 21:32:40 -04:00
Evert Timberg
4068836a42 Reduce core.title.js size 2016-05-04 21:08:59 -04:00
Evert Timberg
5ca07b84f0 Minor legend fix when going to next line 2016-05-04 21:06:19 -04:00
Evert Timberg
7de70c292d Plugin system is slightly smaller 2016-05-04 19:35:01 -04:00
Evert Timberg
eeae8a6a16 Reduce size of on-canvas legend 2016-05-04 19:28:22 -04:00
Evert Timberg
d383e89222 Merge pull request #2416 from brizido/fix-tooltip-body
Fix tooltip body
2016-05-04 16:34:29 -04:00
Evert Timberg
6df9b24ecd Merge from feature/pan-support
All tests are passing
2016-04-29 20:03:15 -04:00
Ricardo Brizido
314f398887 Fix tooltip body 2016-04-29 12:11:15 +01:00
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
b4a06f6e34 Merge branch 'master' into feature/pan-support
Conflicts:
	src/core/core.controller.js
2016-04-23 20:06:18 -04:00
Evert Timberg
47552152c3 Remove file and fix jshint error 2016-04-23 19:39:37 -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
bc90aaa522 Start on pan support 2016-04-21 07:48:47 -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