Commit Graph

465 Commits

Author SHA1 Message Date
MatthieuRivaud
4aabc0cb82 Recovered a fix lost when branching. 2016-08-08 15:56:53 +02:00
MatthieuRivaud
2409908027 Implement monotone cubic interpolation (see issue #3086). 2016-08-08 14:01:30 +02:00
Evert Timberg
554f31a1bb Make the iframe not focusable by using tabIndex of -1 2016-08-04 18:55:32 -04:00
Evert Timberg
23ca08184e Merge pull request #3045 from IonutLaceanu/master
getElementAtEvent: enforce one element limit
2016-07-28 18:02:31 -04:00
Jeff Esp
1e5cdc6188 Fix #2922 Make the XAxis based hover/tooltip pick the item at the same x-axis value 2016-07-27 21:09:13 +02:00
Ionut Laceanu
f46a9472b5 getElementAtEvent: enforce one element limit 2016-07-27 19:27:08 +03:00
Tiago Roldão
9df06e8c2e Check for existence of data element before accessing property 2016-07-18 22:05:44 +01:00
Evert Timberg
524493fe06 Merge pull request #2883 from Mesonyx/mesonyx/bugfix/null-tooltips
Fix for null value label/x-axis multi-tooltip bug
2016-07-11 10:34:20 -04:00
jeffesp
0c5a17af00 Fixes #2923: swapped tooltip xAlign & yAlign 2016-07-06 09:49:31 -04:00
Shayne Linhart
0dccc85e3a Added usePointStyle option to label boxes
- Closes #2252
- Allows label boxes to match the shape(pointStyle) of the corresponding data.
* Removed unused varaible from legend's draw()
2016-07-05 20:08:29 -06:00
Adam Templeton
6f1344d4e9 fix for null tooltip bug 2016-06-30 11:34:53 -05:00
nmac143
426466d051 Fixed truncation of pie chart borders 2016-06-29 19:39:10 -04:00
Adam Templeton
103957c4e0 adds x-axis hover option for charts and tooltips, highlights all dots on x-axis upon x-axis hover 2016-06-28 14:15:12 -05:00
André Wallat
72f423fb95 Fix tooltip not shown for missing dataset
When two datasets are shown and they don't have the same x-coordinates, then the position of the tooltip is not calculated correctly, when using mode 'label' or 'dataset'. This fix checks if the position of every dataset exists, before it is used.
2016-06-28 09:45:08 +02:00
Evert Timberg
0e276c968a Merge pull request #2821 from chartjs/fix/2526
Gracefully handle creating the chart with no config
2016-06-22 21:46:06 -04:00
Alexey Kopleman Dvurechensky
a9e0f2cae6 Fix statements in for() in tooltips's getAveragePosition. 2016-06-22 14:58:12 +03:00
Evert Timberg
553b20dc44 Gracefully handle creating the chart with no config 2016-06-21 18:45:22 -04:00
Simon Brunel
47912f49b4 Remove duplicated function names 2016-06-18 11:15:25 +02:00
Simon Brunel
f36123925c Fix #2734 Cleanup unused variables 2016-06-18 11:00:11 +02:00
Evert Timberg
f106e1bf2d fix tooltip with array returns 2016-06-14 19:19:15 -04:00
Simon Brunel
53eb7667dd New datasets update plugin extensions
Add `beforeDatasetsUpdate` and `afterDatasetsUpdate` plugin notifications during the chart update. Plugins are able to cancel the datasets update by explicitly returning false to `beforeDatasetsUpdate`. For consistency, rename `(before|after)DatasetDraw` to `(before|after)DatasetsDraw`.
2016-06-11 00:17:48 +02:00
Simon Brunel
dfdbd4465c Allow to register/unregister an array of plugins
The plugins service now accepts an array of plugin instances to register or unregister (for consistency, renamed `Chart.plugins.remove` to `unregister`). Also added a few methods to manipulate registered plugins, such as `count`, `getAll` and `clear` (mainly used by our unit tests).
2016-06-11 00:17:44 +02:00
Simon Brunel
a55c17d73f Enhance plugin notification system
Change the plugin notification behavior: this method now returns false as soon as a plugin *explicitly* returns false, else returns true. Also, plugins are now called in their own scope (so remove the never used `scope` parameter).
2016-06-10 22:26:55 +02:00
Simon Brunel
7a419af4c2 Rename plugin service and notification method
Rename `Chart.pluginService` to `Chart.plugins` (so move the old Chart.plugins array as a private member of the service), and rename `notifyPlugins` to `notify` for consistency with other service methods.
2016-06-10 22:26:35 +02:00
Evert Timberg
b1c50ed0c2 Merge pull request #2732 from chartjs/scale-colors-per-line
Scale colors per line
2016-06-09 18:35:48 -04:00
Evert Timberg
3aeddf5239 Merge pull request #2723 from chartjs/vertical-legend
Vertical legend
2016-06-09 18:35:29 -04:00
Evert Timberg
8d94e3e427 Merge pull request #2712 from simonbrunel/helpers-cleanup
Rewrite a few helpers to be more efficient
2016-06-08 20:08:44 -04:00
Jack Valentine
29bc3b0b8b ChartJS tooltip fontColor fix
fixed global variable name fix
callback variable name fix
- 'titleColor' to 'titleFontColor'
- 'bodyColor' to 'bodyFontColor'
- 'footerColor' to 'footerFontColor'
2016-06-09 00:04:20 +09:00
Evert Timberg
fbecfa2baf Reduce duplicated code in core scale draw method 2016-06-07 22:03:36 -04:00
문승찬
7ebf85eacf change tooltip font color option
bodyColor  -> bodyFontColor
titleColor -> titleFontColor
footerColor -> footerFontColor
2016-06-08 10:16:38 +09:00
Evert Timberg
6b2cfd5e11 Support arrays of colors and line widths in cartesian axes 2016-06-07 20:22:06 -04:00
Evert Timberg
71cbc4c5c1 Optimize legend drawing 2016-06-06 22:14:42 -04:00
Evert Timberg
80bd7d3f60 Initial vertical legend mode 2016-06-06 21:41:40 -04:00
Evert Timberg
959b4eedf6 Merge pull request #2716 from thebenedict/master
Make canvas element display: block by default, with config option to …
2016-06-06 10:14:59 -04:00
thebenedict
0b19689b00 style canvas element display: block by default 2016-06-06 17:05:44 +03:00
Simon Brunel
287cefc9b9 Rewrite a few helpers to be more efficient
Resolve at definition time if a browser built-in method or our polyfill should be used, so avoid checking it for each call. Also, `helpers.extend` doesn't need to iterate two times on the function arguments. Finally, remove helpers never referenced.
2016-06-05 23:23:19 +02:00
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