Commit Graph

689 Commits

Author SHA1 Message Date
Simon Brunel
3187a788e1 Add support for local plugins and plugin options
Plugins can now be declared in the chart `config.plugins` array and will only be applied to the associated chart(s), after the globally registered plugins. Plugin specific options are now scoped under the `config.options.plugins` options. Hooks now receive the chart instance as first argument and the plugin options as last argument.
2016-12-18 08:46:15 -05:00
Evert Timberg
18f77db362 fix linting again 2016-12-16 22:24:12 -05:00
Evert Timberg
00d3c5a282 fix linting 2016-12-16 22:20:18 -05:00
Tarqwyn
34d26ea497 Fix bug when calculating if steps fit into scale as a whole number then smal floating point errors make the consition pass false 2016-12-13 21:22:02 -05:00
etimberg
6f40d04964 Fix infinite loop in logarithmic tick generation 2016-12-07 18:47:30 -05:00
Toshiki Saito
bdcdbc2abf Fixed miscalculation of Bar width.
for Bar and horizontalBar type,
include stacked scale.
issue #3589
2016-12-02 07:57:59 -05:00
Evert Timberg
3ff58e5065 Revert "Fixed tooltip labelling on Bar Chart when min is defined (#3618)" 2016-12-01 07:58:39 -05:00
Jerry Chang
b6807b2dd9 fixed tooltip labelling on Bar Chart when min is defined
added helper method to adjust the index

pass in chartConfig rather than access within method, make it easier to
test

added semi-colon at the end of helper method

added test for adjustIndex helper method

fixed lint issues

added integration test for the interaction of trigger an event over the
bar

.

.

moved adjustIndex into element helper

removed method from helper and adjusted method in core.interaction

added test for the element adjustIndex helper

added a skipIndexAdjustment method to handle when to skip the adjustment
along with test cases

fixed lint issues

removed the test for the helper method
2016-11-28 18:29:56 -05:00
etimberg
7a8f20e88f Fix monotone cubic interpolation when two adjacent points are at the exact same x pixel value 2016-11-28 18:28:06 -05:00
Christopher Moeller
97f6c8f12d Add rectRounded point style 2016-11-26 12:58:49 -05:00
etimberg
2e5df0ff42 Allow updating the config of a chart at runtime 2016-11-25 07:19:59 -05:00
Evert Timberg
7e5e29e3ee Improve radial scale (#3625)
Clean up radial linear scale. It now supports multiple lines for point labels. Fixes #3225
2016-11-25 07:19:43 -05:00
etimberg
58afbe428c Properly use the ticks.padding option. To correctly fix the issue, the default padding was changed from 0 to 10. This change caused all of the test changes since the width of a vertical scale was lowered by 10px 2016-11-20 11:52:08 -05:00
Jerry Chang
4fbb1bdbbc Fixed Issue with tooltip label display when given null data value (#3528)
When datasets.data contains a null value, the label displays incorrect
value.

code additions:
- unit tests for truthy label values (when data is null)
- checks to ensure handling of null value in getLabelByIndex method

added mock data sets from issue #3528 example

expect the return value from getLabelForIndex method to be valid (truthy)

added check for null of first data value in getLabelForIndex

fixed indentation and null comparison operator in code

fixed mistake in definition of firstData variable

changed testing for data on index 0 to using index variable

changed firstData to use value instead

condense the statments to use value variable
2016-11-19 09:29:15 -05:00
etimberg
48cb8b78e7 Remove unnecessary padding usages and update category scale tests 2016-11-18 17:58:07 -05:00
Evert Timberg
5dd1c77cf5 Take vertical padding into account 2016-11-18 17:58:07 -05:00
Evert Timberg
eaf109c2b1 When an axis needs padding due to a long, rotated, label it should be added inside the layout system rather than in each axis. 2016-11-18 17:58:07 -05:00
etimberg
f7d60c2606 Allow line chart to use pointBorderWidth of 0 correctly 2016-11-17 21:05:47 -05:00
etimberg
339265d21e use correct option for setting tension on radar charts 2016-11-14 07:27:01 -05:00
etimberg
3f2d7efc70 Add a function to filter items out of the legend 2016-11-12 18:48:25 -05:00
Simon Brunel
6b449a9e7c Fix retina scale when display size is implicit
The retinaScale helper now enforces the display size to the correct values because if no style has been set on the canvas, the render size is used as display size, making the chart bigger (or smaller) when deviceAspectRatio is different of 1.
2016-11-11 18:10:19 -05:00
Simon Brunel
efced4780c Fix context state restoration on destroy
In many cases, the canvas render size is changed by the lib, causing the state stack to be discarded, meaning that we can't use save() and restore() to release the context with its initial state (i.e. before creating the chart). Since we don't need (want) to manually save / restore the context initial state, simply make sure to reset it to the default state to give a fresh context back to the user. That also means we don't need to revert the scale when the pixel device ratio is not 1.
2016-11-07 19:16:45 -05:00
etimberg
74d4dbc608 X and Y interaction modes now use the intersect option 2016-11-05 08:19:07 -04:00
Simon Brunel
5012dcbdae Fix iframe resize handler when re-attached to DOM (#3527)
When the iframe is attached to the DOM, its content is reloaded (invaliding the resize listener) so make sure to install the handler after the iframe is loaded. Optimize resize events by throttling resize process until the next animation frame. Rewrite the unit test "waitForResize" method, the previous one (timeout) was too weak and most tests was failing on FF.
2016-10-31 08:47:28 +01:00
Josh Soref
67934920be Spelling fixes (#3522)
Including: actually, aspect, bottom, changes, characters, datasets, divisible, downward, guidelines, instance, instances, interrupted, item, javascript, label, lifecycle, lines, plugins, manually, milliseconds, nearest, occurring, position, predefined, recalculate, tooltip, those
2016-10-27 21:18:31 +02:00
etimberg
5ae268e942 Add a way to filter items in the tooltip 2016-10-23 16:33:08 -05:00
bydooweedoo
3bd4d283f7 Custom tooltip: add data points infos (#3201)
Expose tooltip items from tooltip model and added `x` and `y` properties to `TooltipItemInterface`
2016-10-19 08:48:17 -05:00
Zach Panzarino
a0ce74643f Fix eslint errors in layout service test 2016-10-18 22:00:55 +00:00
etimberg
596ff3718c Layout service now supports configurable padding on left, top, right and bottom.
Re-enabled the layout service tests and then properly disabled the tests that
fail on the CI.
2016-10-17 16:59:47 -05:00
etimberg
16f23b2c44 Add reset method to chart prototype 2016-10-17 06:40:29 -05:00
Zach Panzarino
766ca49cd0 Extend eslint to test files (#3473)
* Add eslint to test files

* Fix mockContext for tests

* Make formatting look better for nested objects
2016-10-16 17:34:59 -04:00
Simon Brunel
4a5b5a0e7e Enhance context acquisition on chart creation
Add support for creating a chart from the canvas id and prevent exceptions, at construction time, when the given item doesn't provide a valid CanvasRenderingContext2D or when the getContext API is not accessible (e.g. undefined by add-ons to prevent fingerprinting). New jasmine matcher to verify chart validity.
2016-10-16 08:25:13 -05:00
Evert Timberg
6ec6a929f0 Make index mode only work with the horizontal distance to an element (#3471)
Make index mode only work with the horizontal distance to an element if intersect is off
2016-10-15 16:49:35 -05:00
Evert Timberg
f8e90b1c2d New fill modes for lines (#3460)
New fill modes for lines allowing the user to customize where the fill goes to
2016-10-14 06:19:47 -05:00
etimberg
0817199f45 No longer merge arrays during the config merge. Simply replace the property 2016-10-10 08:14:58 -04:00
Aidan Fewster
365bdbb346 If tick options have min, max and stepSize use them to generate evenly spaced ticks 2016-10-04 09:30:28 -04:00
Evert Timberg
c15fa98978 Display tooltip color boxes for all tooltips. Added a new displayColors option to turn them off 2016-10-04 09:20:20 -04:00
Evert Timberg
03735563f4 Improve Tooltip and Hover Interaction (#3400)
Refactored interaction modes to use lookup functions in Chart.Interaction.modes and added new modes for 'point', 'index', 'nearest', 'x', and 'y'
2016-10-03 16:05:21 -04:00
Simon Brunel
1484520692 Better animation when adding or removing data
In order to simulate real-time chart updates (i.e. horizontal animation), it's necessary to distinguish a removed or added value from a simple update. The dataset controller now hooks array methods that alter the data array length to synchronize metadata accordingly. Also remove the duplicate calls of updateBezierControlPoints() for line and radar charts.
2016-10-03 16:01:38 -04:00
Simon Brunel
9deebf8371 Fix config initialization and add unit tests 2016-09-29 17:55:04 -04:00
Simon Brunel
806a3832ef Inject iframe for responsive charts only
Responsiveness is currently based on the use of an iframe, however this method causes performance issues and could be troublesome when used with ad blockers. So make sure that the user is still able to create a chart without iframe when responsive is false.
2016-09-28 15:43:15 -04:00
Evert Timberg
d3d9573af5 Fixes HTML legend string for polar area charts to match doughnut charts. (#3361)
Fixes HTML legend string for polar area charts to match doughnut charts
2016-09-25 08:30:39 -04:00
Simon Brunel
d407da4e36 Merge pull request #3325 from chartjs/fix/3269
Improve multiline labeling for tooltips in doughnut charts
2016-09-24 22:31:29 +02:00
Evert Timberg
9041b5a2b9 Update default config tests and re-enable 2016-09-24 22:25:05 +02:00
Evert Timberg
62ef40ebf6 skip non finite data points when determining scale sizes. Fixes #3125 2016-09-24 12:19:49 -04:00
Evert Timberg
ba133876c2 Merge pull request #3356 from simonbrunel/aspect-ratio
Fix aspect ratio and add responsive unit tests
2016-09-24 12:06:45 -04:00
Simon Brunel
7d65bd3f52 Initial core.controller.js unit tests 2016-09-24 00:04:33 +02:00
dylan-kerr
4f668c3ed9 Adjust expected values in core.title.tests.js 2016-09-23 22:36:58 +01:00
Simon Brunel
4901471445 Automatically expose custom Jasmine matchers 2016-09-08 23:32:47 +02:00
Simon Brunel
8254331eef Fix time scale tests using the wrong chart instance
Some tests were using the removed global `chartInstance` variable, so tests values were incorrect since against the wrong chart instance.
2016-09-08 23:32:45 +02:00
Simon Brunel
efb82d93d8 Auto-release charts if not persistent (tests)
For convenience, charts are now automatically released after each spec if they are not acquired using `persistent: true`. Also remove the confusing and error prone `chartInstance` global variable and make sure that chart instances are local to each spec.
2016-09-08 23:32:43 +02:00
Lubomir Sotirov
38f85c98b5 Fix 3267 Add "onHover" functionality for legend (#3271)
Add "onHover" to the legend options that will hold a user defined function (default is null) and called when a "mousemove" event is registered on top of a label item, with same parameters as the "onClick" option.

Also introduced logic that determines if the type of event passed to the legend "handleEvent" function is one we can handle. Currently allowing "click" and "mousemove" events. If the event is not one of those we stop the function execution (this is for the sake of reusing the legend hitbox calculations).
2016-09-08 14:42:42 +02:00
Simon Brunel
52cdff5fc1 Merge pull request #3254 from ianks/minDisplayFormat
Suport minUnit for time scale
2016-09-08 13:34:53 +02:00
Ian Ker-Seymer
7af6e7f192
Suport minUnit for time scale
When dealing with time-delineated datasets, often we have data for known
intervals of time. For example, we may have a dataset which represents number
of purchases per day:

```json
{
	labels: ['2016-01-01', '2016-01-02', '2016-01-03']
	datasets: [
		{
			data: [12, 87, 42]
		}
	],
	'...': '...'
}
```

In this case, Chart.js will attempt to figure out the best interval to display
the data, and could pick `hours` as the unit. However, in this case, we would
prefer to just use the `days` interval since our data's granularity can not be
represented well with `hours`.

To remedy this, this commit adds the `minUnit` option which allows
users to (optionally) specify what the minimum unit they would like
to use.
2016-09-06 13:11:06 -04:00
Simon Brunel
69ab0d3e23 Use gulp-eslint instead of gulp-jshint
Change the linter in gulp tasks to be consistent with Code Climate results which are based on ESLint using .eslintrc options. However, defaults Code Climate rules are too strict, so turn as warnings the 'complexity' and 'max-statements' rules (other errors has been fixed). Note that the Gulp task name has been changed for `gulp lint`.
2016-09-03 18:42:22 +02:00
courchef
6269e2c437 Error possible when using the plugin Chart.Zoom.js used with time scale (#3194)
Zooming in can cause the params `datasetIndex` and `index` to be null in method `getLabelMoment`. This happens when no ticks are visible on scale. It also throws an error and the chart becomes broken.
2016-09-03 18:06:09 +02:00
Ekaterina Dontsova
4a4dccd6c1 Fix #3044 Line chart single data point centering (#3166)
In line charts, when there is only one label and data point, both are now horizontally centered.
2016-08-25 18:52:12 +02:00
Evert Timberg
8afac7bd3c Merge pull request #3191 from chartjs/fix/2994
Fix issues with repeated labels in the category scale and added a tes…
2016-08-23 17:09:31 -04:00
etimberg
904f19fb7e When drawTicks is false, we should not include their size in the size of the axis 2016-08-22 20:09:09 -04:00
Evert Timberg
1749d90faf Fix issues with repeated labels in the category scale and added a test to cover this case. 2016-08-22 18:03:56 -04:00
Evert Timberg
89531c6b93 Merge pull request #3112 from MatthieuRivaud/MonotoneCubicInterpolation
Monotone cubic interpolation
2016-08-22 17:53:31 -04:00
Karthik Iyengar
349a8a33ea Added borderDash support for grid lines (#3136) (#3142)
* Added borderDash support for grid lines (#3136)

* Save and restore context to prevent border dash being applied to other elements

* Adds support for borderDashOffset, checks for setLineDash (IE9/IE10)

* Fixes tests
2016-08-12 12:31:54 -04:00
Ekaterina Dontsova
31197978b7 Fix #2966: 0 values in logarithmic scale for line and vertical bar charts (#3016) 2016-08-11 21:40:25 +02:00
MatthieuRivaud
566ede1ecd Fixed splineCurveMonotone unit test (for real this time) 2016-08-08 17:02:58 +02:00
MatthieuRivaud
ef66bf5e6d Fixed splineCurveMonotone unit test 2016-08-08 16:33:32 +02:00
MatthieuRivaud
2409908027 Implement monotone cubic interpolation (see issue #3086). 2016-08-08 14:01:30 +02:00
Evert Timberg
d47ef17736 Handle the case where all points are skipped in a line 2016-07-30 14:46:28 -04:00
Evert Timberg
eb6124fea8 Fix 2 line drawing issues and add new tests for these cases 2016-07-30 12:55:42 -04:00
Evert Timberg
f60344dfdb Fix line controller stacking with multiple axes and add a test 2016-07-28 18:10:07 -04:00
Evert Timberg
7ebc533cdc Merge pull request #3028 from chartjs/fix/span-gaps
Refactoring of the line drawing function to make `spanGaps` work correctly
2016-07-28 18:02:56 -04:00
Ian Ker-Seymer
e4dd158b24
Fix out of bounds index access in getLabelMoment
Previously, calling getLabelMoment with an out of bound index would cause an
error such as this:

```
Uncaught TypeError: Cannot read property 'null' of undefined
```

This happens because there is not always guaranteed to be a labelMoment on
at the current datasetIndex.

One example of this is practice comes from a this function call:

```js
// since the are not always guaranteed to be at least two labelMoments
//                                \ / this index can be out of bounds
//                                 |
var tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;
```

This patch simply ensures that the `labelMoments` for the `datasetIndex` are
defined before accessing properties on it.
2016-07-26 14:45:05 -04:00
Evert Timberg
2016630daa Refactoring of the line drawing function to make spanGaps work correctly. Added a lot more test conditions to the line element tests. Ensured that the line controller correctly calculated bezier control points when there was a point to be skipped 2016-07-24 18:12:36 -04:00
Evert Timberg
e94d3c0730 Merge pull request #2947 from chartjs/fix/524
Add polar area start angle setting
2016-07-19 18:56:09 -04:00
unknown
1a63113bc0 changed option name for radar chart from offsetAngle to startAngle. Added test to make sure correct angles are computed for all points in the radar chart (with and without startAngle option set). 2016-07-17 23:11:30 -06:00
Evert Timberg
bfa37e7d68 Merge pull request #2926 from chartjs/fix/2915
Fix bar and line controllers to convert strings to numbers when stacking
2016-07-13 18:22:11 -04:00
Evert Timberg
b6686f00f4 Non numeric y (#2849)
* Category scale can now read from the xLabels and yLabels properties.

* Update docs with section regarding the data object.

* Add sample file with non numeric Y and fix animations
2016-07-09 09:22:25 -06:00
Evert Timberg
a452094f5d Add polar area start angle setting 2016-07-09 09:05:02 -04:00
Evert Timberg
7ca5f91b10 Fix bar and line controllers to convert strings to numbers when considering the values for stacking the chart. Simplified the base calculation for the bar charts and added test coverage to ensure that strings will work correctly. 2016-07-06 18:22:42 -04:00
Evert Timberg
44a9866bd8 Merge pull request #2870 from chartjs/fix/2802
Consider left and top when determining value from pixel in category s…
2016-07-06 17:53:50 -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
Mitsuhiro Tanda
2bf2be7a9c fix stacked scatter line chart 2016-06-30 22:28:21 +09:00
Evert Timberg
3660d9be39 Consider left and top when determining value from pixel in category scale 2016-06-29 07:00:09 -04:00
William Entriken
f2270ed8db Merge pull request #2741 from duerahan/master
time type xAxis height crah in line chart #2622
2016-06-27 13:59:41 -04:00
Evert Timberg
48ac791a0c Allow passing a value to the time scale getPixelForValue method 2016-06-21 19:03:30 -04: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
Jack Valuntine
7d63bf085a time type xAxis height crah in line chart
if input only one data in dataset and xAxis type is date make offset crash.
check offset value and don't devide 0 value.
Add xAxis check test case.
2016-06-09 13:34:15 +09:00
Jack Valentine
99d3f423cb titleColor options is not available
titleColor change to titleFontColor
2016-06-08 23:15:21 +09:00
Jack Valentine
d6e5b5e79a core tooltip test case fixe
titleColor options is not available
titleColor change to titleFontColor
2016-06-08 23:01:41 +09:00
문승찬
5687aa479f Fix tooltip core test case
Change tooltip font color options
this options changed in tooltip core
bodyColor  -> bodyFontColor
titleColor -> titleFontColor
footerColor -> footerFontColor
2016-06-08 10:22:47 +09: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
Evert Timberg
a5167cc42d Reduce duplicated code in doughnut controller 2016-05-30 21:33:11 -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
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
528680d666 Merge pull request #2658 from chartjs/fix/2580
Allow turning off lines on a per dataset basis
2016-05-28 10:56:25 -04:00
Evert Timberg
327b8d82f5 Allow turning off lines on a per dataset basis 2016-05-27 22:20:51 -04:00
Evert Timberg
b3f8a53ea5 Merge pull request #2640 from chartjs/legend-and-title-as-plugins
Legend and title as plugins
2016-05-27 21:19:28 -04:00
Evert Timberg
cca4c76c00 Don't use translates and rotates for drawing rotated rectangles 2016-05-26 19:38:27 -04:00
Evert Timberg
ae01f1726c Fix tests 2016-05-26 19:22:11 -04:00
Ceane Lamerez
456ab9ca36 Fix #2574 - Add support to hide border on the chart 2016-05-17 21:35:19 +02:00
Evert Timberg
8c209405e9 Merge branch 'iso_weekday' of https://github.com/tomduncalf/Chart.js into tomduncalf-iso_weekday
Conflicts:
	docs/01-Scales.md
2016-05-12 18:24:14 -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 Duncalf
7ee5af81af Add labelOffset option to scales 2016-05-11 10:43:22 +01:00
Tom Duncalf
8b3d079a50 Add isoWeekday option to allow time scale ticks in 'week' unit mode to start on a specified day of the week 2016-05-11 09:44:02 +01:00
Tom Duncalf
3bef974c25 Add minRotation support 2016-05-10 12:33:36 +01: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
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
bc505b1a9d beginAtZero and linear scales with no data should play nice 2016-05-07 16:56:04 -04:00
Evert Timberg
fc4c23c8d2 Allow updating scale defaults 2016-05-07 11:43:24 -04:00
Evert Timberg
4068836a42 Reduce core.title.js size 2016-05-04 21:08:59 -04:00
Evert Timberg
38373300ee Improve time scale for zoom and pan
* Improve time scale for zoom and pan
Improve category scale when zoomed

* Fix CI test
2016-05-01 11:40:14 -05:00
Evert Timberg
cb54f30c97 Implement getValueForPixel for category scale 2016-04-30 08:39:18 -04:00
Evert Timberg
56411bdcd4 Increase tolerance for CI 2016-04-29 20:07:42 -04:00
Evert Timberg
6df9b24ecd Merge from feature/pan-support
All tests are passing
2016-04-29 20:03:15 -04:00
Evert Timberg
115358659a Merge pull request #2411 from zachpanz88/shared-data
Update line tests to match new metadata system
2016-04-28 18:36:43 -04:00
Zach Panzarino
4b96acc685 Change spaces to tabs in line tests 2016-04-28 22:30:19 +00:00
Evert Timberg
73bc52f196 Update radial linear tests 2016-04-28 18:28:57 -04:00
zachpanz88
da46850ccf Rewrite line chart tests to match new metadata structure 2016-04-28 18:21:56 -04:00
Evert Timberg
9fe9305992 Reenable time scale tests 2016-04-27 21:50:31 -04:00
Evert Timberg
7aa1463c15 Remove bad tests from linear scale 2016-04-27 21:24:13 -04:00
Evert Timberg
5c146a9da5 Linear scale tests 2016-04-27 21:19:02 -04:00
Evert Timberg
2253e84c47 Numerical improvements to matcher 2016-04-27 19:46:15 -04:00
Evert Timberg
1e066ea5de Minor test fix 2016-04-27 19:04:00 -04:00
Evert Timberg
405fda6655 Fix radar tests & reenable. support new lineTension attribute like line controller 2016-04-27 19:03:52 -04:00
Evert Timberg
34992bc4cb Fix doughnut test 2016-04-27 17:40:56 -04:00
Evert Timberg
03fb66751f Make animation options consistent for polar area and doughnut charts (#2342)
* Make animation options consistent and fix an issue when `animateRotate === false` in the polar area chart

* Update docs for moved options

* Fix typo
2016-04-27 16:07:21 -05:00
Evert Timberg
450a08420b Merge pull request #2371 from chartjs/fix-time-scale-cutoff-bug
Time scale now compensates for rounded tick units
2016-04-27 15:39:02 -04:00
Simon Brunel
eb14481d02 Fix legend tests and disable other failing tests 2016-04-27 19:58:36 +02:00
Simon Brunel
a93b3f45ac Fix helpers, layoutService and logarithmic tests 2016-04-26 22:44:53 +02:00
Simon Brunel
e0353dac98 Fix bar, bubble, doughnut, and polarArea tests
Also replace the 2 spaces indentation in controller.bar.tests.js by tabs to match the overall code style.
2016-04-26 12:46:34 +02:00
Simon Brunel
8b156bdc98 New toBeCloseToPixel jasmine matcher
Because of differences between testing platforms, introduce a new matcher for (floating) pixel values comparison (currently 2 pixels tolerance).
2016-04-26 12:46:33 +02:00
Simon Brunel
886956441e New test helpers to acquire and release charts
Since we changed the way how meta data are stores, now unit tests need to work on real Chart instances. This commit brings some helpers to inject/cleanup HTML canvas and it's wrapper into/from the DOM.
2016-04-26 12:46:31 +02:00
Tanner Linsley
da90e2f670 Time scale now compensates for rounded tick units
Closes #2277
2016-04-25 17:48:21 -05:00
Evert Timberg
f613ad5c0f Comment out tests since they seem like a moment issue 2016-04-23 20:08:00 -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
c31c90b2e4 Backwards pixel to value API 2016-04-23 13:27:10 -04:00
Jannis Achstetter
75676019a1 Add testcases for the consistent dataset-specific option names "pointRadius" and "pointHitRadius" 2016-04-21 15:39:19 +02:00
Evert Timberg
bc90aaa522 Start on pan support 2016-04-21 07:48:47 -04:00
Jannis Achstetter
add9f8c3a4 Add a testcase for the new option name "lineTension" 2016-04-21 09:41:27 +02:00
Jannis Achstetter
b0c1e9cb69 "tension" is a property of the line, not of the point 2016-04-21 09:17:51 +02:00
Jannis Achstetter
6fcec4273e Fix test/defaultConfig.tests.js after PR #2308 2016-04-20 16:02:05 +02: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
16570b0c0c Plugin system + tests 2016-04-17 12:02:33 -04:00
Evert Timberg
7c7739c25f Merge pull request #2276 from nnnick/fix/2229
Improved sizing when grid lines are not display
2016-04-17 10:38:45 -04:00
Evert Timberg
1a49872ce4 More prework for zoom/pan 2016-04-17 10:33:38 -04:00
Evert Timberg
73b6198d24 Fix tests 2016-04-17 08:54:27 -04:00
Evert Timberg
ca461479a8 Update docs 2016-04-16 21:50:45 -04:00
Evert Timberg
fac92448ff Update tests for new config option 2016-04-16 21:49:08 -04:00
Evert Timberg
b50c281684 Merge pull request #2273 from mdehoog/doughnut-rotation
Added unit test for doughnut rotation/circumference, fix for rotation = 0
2016-04-16 19:21:58 -04:00
Michael de Hoog
241f085533 Fix for doughnut rotation = 0, added unit test for doughnut rotation/circumference properties 2016-04-17 09:16:42 +10: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
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
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
9ee70d6d48 Category scale supports min / max 2016-04-02 23:05:48 -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
Evert Timberg
cefaef4707 Fix tests 2016-03-26 10:49:02 -04:00
etimberg
21a33f0e41 Better conversion to ticks to make it easier to use callbacks 2016-03-16 19:39:09 -04:00
Ivan Samoylenko
f5bb8e25d5 Fixed bar.controller tests 2016-03-13 19:10:49 +03:00
Ivan Samoylenko
81e1448836 Added 'borderSkipped' parameter to Rectangle. 2016-03-13 18:58:36 +03:00
Evert Timberg
a87ebe0841 Fix test for time zone difference 2016-03-05 23:16:25 -05:00
Evert Timberg
c3f765857e Fix some time rounding problems 2016-03-05 22:58:34 -05:00
Matthias Winkelmann
9410eaabbf fixed timezone bug in test 2016-03-02 16:51:48 +01:00
Matthias Winkelmann
fc46e25f23 fixed test and added a test for a custom date parser 2016-03-02 16:40:58 +01:00
Evert Timberg
8d5b3809f6 Fix global font settings 2016-02-28 13:41:17 -05:00
Evert Timberg
04e6926961 Fix bar chart and doughnut chart animations 2016-02-27 12:32:20 -05: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
309ab1f477 Disable autoskipper for time scales 2016-02-15 09:41:35 -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
Evert Timberg
61ca178e2b Write an almost equals function and use it in the linear scale. Added a test for this new function. 2016-02-06 09:38:44 -05:00
Evert Timberg
d16f4fc5ce Add default font options 2016-02-01 21:06:54 -05:00
Evert Timberg
0e8babf1d7 Fix stacked bar data limit calculation 2016-02-01 18:44:39 -05:00
Evert Timberg
f75116a91e Update millisecond default format. Removed unnecessary space at right edge of time scale. 2016-01-30 16:35:10 -05:00
Evert Timberg
bfd6f5f78e Radar controller tests 2016-01-27 18:00:32 -05:00
Evert Timberg
0890c809aa default config tests 2016-01-24 15:15:36 -05:00
Evert Timberg
d0a0d57fe2 Initial polar area tests 2016-01-24 13:29:13 -05:00
Evert Timberg
6aa2933ec5 Bubble controller tests 2016-01-24 10:59:19 -05:00
Evert Timberg
d0b67c603b Line and bar test updates 2016-01-24 10:58:30 -05:00
Evert Timberg
c312835eb1 Add some tests for scales. Cleaned up some minor bugs in the time scale. Wrote better helpers for helpers.min and helpers.max 2016-01-23 12:44:55 -05:00
Evert Timberg
2d4e2f9889 Properly begin path before drawing line at edge of scale 2016-01-18 21:35:35 -05:00
Evert Timberg
62988e9768 Merge pull request #1912 from mathiask88/pointStyleFix
Fixes the point size for rect and rectRot
2016-01-18 15:55:06 -05:00
Mathias Küsel
b282a01ab6 Fixes rect size 2016-01-18 20:04:31 +01:00
Evert Timberg
1de0435feb Fix reversed ticks on linear scale + update test 2016-01-17 20:37:43 -05:00
Mathias Küsel
655c1152eb Adds different point styles 2016-01-16 18:07:57 +01:00
Mathias Küsel
24e4a924c4 Add option to disable line drawing 2016-01-14 13:39:06 +01:00
Evert Timberg
5070059ac1 Add template option for point labels + test + doc update 2016-01-09 14:39:43 -05:00
Evert Timberg
46861c9f0b Update bar controller tests 2016-01-09 09:58:14 -05:00
Evert Timberg
d49b5b82c7 Add test for scale 2016-01-09 09:51:04 -05:00
etimberg
8dca052a16 Add suggestedMin, suggestedMax, min, and max options to radialLinear scale 2016-01-02 21:03:09 -05:00
Evert Timberg
824f5880fb Merge pull request #1837 from nnnick/fix/1766
Better fitting of scales
2015-12-29 10:16:46 -05:00
Evert Timberg
081cf7ba07 Fix tests 2015-12-29 09:24:09 -05:00
Evert Timberg
754268890b Alias the pixel for nicer drawing 2015-12-28 09:37:31 -05:00
Evert Timberg
f2899934db Draw line at edge of scales & update tests 2015-12-28 09:26:59 -05:00
Tanner Linsley
31721a353c Merge pull request #1829 from nnnick/fix/1716-1731
Better tooltip positioning
2015-12-23 10:22:34 -07:00
Evert Timberg
bbc6f5aa5f Fix broken test 2015-12-23 12:00:56 -05:00
Tore Lervik
0437968a4e Fixed broken tests 2015-12-21 23:47:38 +01:00
Evert Timberg
63b14dc2a9 Merge pull request #1810 from olyckne/fix/ticks_callback
Fix ticks callback and auto skip
2015-12-21 08:23:55 -05:00
Mattias Lyckne
dec4a5f57a Fix tests 2015-12-21 08:43:48 +01:00
Evert Timberg
5f4e8a4c13 Merge pull request #1794 from nnnick/update-scale-lifecycle
Update Scale Lifcycle
2015-12-19 14:29:49 -05:00
Evert Timberg
283f1d7387 Update check to new system + fix tests 2015-12-17 09:31:01 -05:00
Evert Timberg
c8d3831152 Split out data limits step of scales into it's own step. Wire up callbacks from the options to those in the scale life-cycle. Updated the docs accordingly 2015-12-17 09:21:04 -05:00
Evert Timberg
cddfba1676 Better test 2015-12-15 19:33:38 -05:00
Evert Timberg
274897fc24 Fix tests 2015-12-15 19:30:09 -05:00
Evert Timberg
6d490fbbbb Merge pull request #1779 from olyckne/adds_min_and_max_to_y_axes
Adds min and max setting to axes
2015-12-14 21:55:17 -05:00
Mattias Lyckne
968db4e783 Adds min and max setting to axes 2015-12-14 09:22:34 +01:00
Evert Timberg
139cbe1c64 All dataset controllers now inherit from a common base class Chart.DatasetController. This makes writing external controllers much easier 2015-12-13 14:35:40 -05:00
Evert Timberg
39e5daaca8 Better property picking. Added a helper function so we don't have to write a complicated ternary everywhere. Updated tests accordingly. 2015-12-12 08:52:06 -05:00
Evert Timberg
819f865723 Merge branch 'v2.0-dev' into v2.0-legend
Conflicts:
	src/controllers/controller.doughnut.js
2015-12-07 22:10:38 -05:00
Evert Timberg
28fc6841f3 Add tooltipFormat option to time scale options.
Fix bars when displayed on a time scale.
Updated sample files.
2015-12-05 19:33:33 -05:00
Evert Timberg
89da20354c Fix tests 2015-12-05 09:55:17 -05:00
Evert Timberg
38afefde25 Doughnut controller needs to obey chart area size 2015-12-04 19:22:48 -05:00
Evert Timberg
dcc06eb3bb Merge branch 'v2.0-dev' into v2.0-legend
Conflicts:
	src/core/core.scaleService.js
2015-12-03 21:21:10 -05:00
Evert Timberg
14c2cf56d1 Merge pull request #1728 from ashayas/bugfix/1722
Realized minRotation not needed, removed as an option and removed from tests
2015-12-02 07:30:55 -05:00
npsecoding
164671ffeb Realized minRotaion not needed, removed as an option and removed from tests 2015-12-01 22:29:19 -08:00
etimberg
f609452727 Allow the user to change the time label display formats 2015-11-30 20:42:48 -05:00
Evert Timberg
a90aac7b26 Change scale show properties to display and update tests 2015-11-24 19:18:15 -05:00
Evert Timberg
7b719e6432 Modify layout service to be able to place horizontal boxes as either full width or not full width. Currently the legend is the only full width box we have. Scales were modified so as not to be full width, however Core.Scale can handle boxes that are full width.
Updated unit tests to use correct 'boxes' property of chart instance. Tests did not require numerical updates!

Added a test to cover placing a full width box.
2015-11-21 10:51:32 -05:00
Evert Timberg
2a9b3e5221 Merge branch 'v2.0-dev' into v2.0-legend
Conflicts:
	src/core/core.controller.js
2015-11-21 09:23:33 -05:00
Evert Timberg
ead6247cd8 Make sure data is converted to a number in scales when determining min and max. Add tests for this condition to linear, radialLinear, and logarithmic scales. 2015-11-17 18:43:18 -05:00
Evert Timberg
e00f9d5790 Fix tests 2015-11-17 18:38:19 -05:00
Tanner Linsley
5a80b9e501 Merge pull request #1645 from nnnick/fix/null-callback
Hide lines for which the tick label callback returns null or undefined
2015-11-16 16:10:16 -07:00
Tanner Linsley
ae9db841f9 Merge pull request #1646 from nnnick/fix/1640
Can now replace entire chart data object on the fly
2015-11-16 16:10:01 -07:00
Tanner Linsley
937d866bd3 Merge pull request #1647 from nnnick/fix/1324
Fall back to line settings for points if necessary
2015-11-16 16:09:53 -07:00
Evert Timberg
0495e45ff7 Can now skip in all cases (start, mid, end) whether or not there is a look 2015-11-15 11:16:41 -05:00
Evert Timberg
9c78de10ba Fix line tests. Still need to add tests of the skip code. 2015-11-14 23:16:07 -05:00
Evert Timberg
37249e4375 Fix an incorrect test setup 2015-11-14 22:52:10 -05:00
Evert Timberg
7f34d8dd2f Always include padding to ensure that we can always see the tick labels of vertical axes 2015-11-13 13:24:22 -05:00
Evert Timberg
f85ffbc09c Use the dataset backgroundColor, borderWidth, and borderColor, if specified, for points. Added tests for this case. 2015-11-13 11:21:44 -05:00
Evert Timberg
66bc1dc492 Reference data from the main controller wherever possible. Updated tests to account for this. 2015-11-13 09:38:35 -05:00
Evert Timberg
1e4894d625 Test for skipping drawing 2015-11-11 21:49:07 -05:00
Evert Timberg
972ceb24e6 Fix tests 2015-11-07 09:40:41 -05:00
Evert Timberg
4267d01bc2 Log scale + tests 2015-11-01 09:07:18 -05:00
Evert Timberg
8324b35506 Update linear scale + tests 2015-11-01 08:45:12 -05:00
Evert Timberg
29002b2efb Fix old scaleService tests that are now testing the layoutService 2015-10-31 13:10:06 -04:00
Evert Timberg
e8f80ca211 Rename test file 2015-10-31 13:08:36 -04:00
Evert Timberg
07b052cfab Tests for suggestedMin and suggestedMax options 2015-10-31 11:40:51 -04:00
Tanner Linsley
85572d7b67 element.line.js now passes tests 2015-10-26 19:40:52 -06:00
Tanner Linsley
559ee6291e Merge pull request #1567 from nnnick/fix/rounding
Better linear scale tick formatter + small tick generation
2015-10-24 01:40:43 -06:00
Tanner Linsley
6adf39e233 radialLinear scale tests now expect rounded values
The rounding problems compounded in a few areas (like the
distanceFromCenter function and drawingArea property).  Those are now
more accurate.
2015-10-24 01:25:00 -06:00
Tanner Linsley
e7b71aa909 Line element and controller tests now coincide with the latest skipNull refactor 2015-10-24 01:23:51 -06:00
etimberg
f22c0f3322 Fix tests affected by changes to default label formatter 2015-10-23 22:11:59 -04:00
etimberg
0c3d9ec5dd Improved number format function. Also improved the generation of small tick values 2015-10-23 22:00:59 -04:00
etimberg
965d74e34a Time scale test fix for optional labels 2015-10-21 21:00:13 -04:00
etimberg
854c1af45e test fix 2015-10-21 20:47:22 -04:00
etimberg
24e8fe3a4b Merge remote-tracking branch 'origin/v2.0-dev' into v2.0-dev-tooltip-refactor 2015-10-21 20:18:23 -04:00
Evert Timberg
351ccaf2f2 Fix 2 test fails 2015-10-20 20:12:56 -04:00
Evert Timberg
5495a34d02 Fix 2 fails due to a bug fix for the scale label colour. 2015-10-18 19:57:06 -04:00
Evert Timberg
d0475b8052 Down to 3 test failures 2015-10-18 19:48:57 -04:00
Tanner Linsley
e0918817ae Testing fixes for time scale 2015-10-16 21:14:07 -06:00
Evert Timberg
e39298db3c Before labels can rotate, we need the appropriate left, right, top, & bottom attributes of the scale set with default values so that tick spacing can be determined. After ensuring that this happens, tests needed to be updated. Added unit testing for the scale service. 2015-10-13 11:43:00 -04:00
Evert Timberg
b36c8ff788 Update controllers to handle datasets that are not visible 2015-10-07 19:54:11 -04:00
Evert Timberg
aaec5efd52 Scales will only consider visible datasets when calculating data max and min values 2015-10-07 19:37:53 -04:00
Evert Timberg
77faacb467 Removed the line scale override file since functionality no longer directly exists. Updated the core scale drawing with tighter padding & better drawing when on top. Updated tests 2015-09-27 21:34:16 -04:00
Evert Timberg
db3b5c1735 Fix broken helper test 2015-09-27 19:40:38 -04:00
Evert Timberg
7a0803cfd7 Fix line controller tests 2015-09-27 19:19:21 -04:00
Evert Timberg
4fd30e0c75 Last bar controller test fixes 2015-09-27 18:29:54 -04:00
Evert Timberg
80b2ffe3ee Fix bar controller unit tests 2015-09-27 18:28:09 -04:00
Evert Timberg
bc7d1d39fd Convert the radialLinear scale to derive from Core.scale. Radial linear scale is now fit using the scale service. Added tests for the radialLinear scale. 2015-09-27 11:58:20 -04:00
Evert Timberg
be4facdea9 Time scale tests. 2015-09-27 09:38:11 -04:00
Evert Timberg
5156e633ca Category scale tests 2015-09-26 16:52:14 -04:00
Evert Timberg
3d1e1b1605 Updated core.scale draw code with minor improvements and features that broke during integration (such as mirror option for labels). Updated linear and logarithmic tests. Update config merge to use scaleMerge since it prevents overriding the default entirely. 2015-09-25 21:04:45 -04:00
Evert Timberg
cf944ae651 Make sure ticks are converted to strings. Handle this in the core. Updated linear scale tests & fixed some minor issues. Only 3 fails now in the linear scale. 2015-09-24 22:08:25 -04:00
Evert Timberg
2e2bbc9d52 Start to clean up the linear scale tests 2015-09-24 18:54:56 -04:00
Evert Timberg
4e536c523e Test missed in last check-in 2015-09-21 21:00:09 -04:00
Evert Timberg
416a6ac1bd Remove unneeded functions from core controller. Updated dataset controllers to have a separate function to update the meta data for each dataset 2015-09-21 20:59:53 -04:00
Evert Timberg
2e479e4589 Update tests for new scale labels 2015-09-20 19:41:48 -04:00
Evert Timberg
9fecb37e30 Update tests for new config options 2015-09-20 19:06:34 -04:00
Evert Timberg
723c85320f Unit tests for logarithmic scale. Fixed some issues in stacked mode since it's not possible for a 0 crossing to occur with a log scale. 2015-09-17 20:29:41 -04:00
Evert Timberg
54858b921d More linear scale tests 2015-08-31 20:42:29 -04:00
Evert Timberg
02e0f3f856 Check some more data on the linear scale after fitting 2015-08-30 21:50:41 -04:00
Evert Timberg
c8d5856216 Start testing the linear scale fit code 2015-08-30 21:49:39 -04:00
Evert Timberg
702b9553e7 More helper tests 2015-08-30 20:46:26 -04:00
Evert Timberg
bb0a8991df Core element tests 2015-08-30 20:17:24 -04:00
Evert Timberg
ce623075e3 Add line controller tests. Fixed an issue when the number of data points changes. When adding the tension to a point, get the same tension as the line if it has been overridden at the dataset level. When setting the hover style of a point, allow setting the radius independently of the regular radius. Use the hoverRadius property in point.custom or the dataset.pointHoverRadius. Allow setting the border width independently at the dataset level. Use dataset.pointHoverBorderWidth. This can be an array or a number. 2015-08-30 17:42:42 -04:00
Evert Timberg
8e9de00529 Doughnut controller tests 2015-08-30 14:56:48 -04:00
Evert Timberg
fcad4de670 Finish up bar controller tests 2015-08-30 10:42:00 -04:00
Evert Timberg
471618d287 Initial bar controller tests 2015-08-29 22:27:40 -04:00
Evert Timberg
eadfbbee6f Initial line element tests. Did not test the skipNull functionality since it seems to be broken. 2015-08-29 14:16:37 -04:00
Evert Timberg
17c075eb0e Arc element tests 2015-08-29 12:31:44 -04:00
Evert Timberg
26684b6371 Rectangle element tests 2015-08-29 08:53:42 -04:00
Evert Timberg
f9a9e6bfb7 Do mock context properties better 2015-08-28 23:20:01 -04:00
Evert Timberg
c09414cc40 First set of tests for point. Started on a mockContext object for testing. Still need to handle property setting better (fillStyle, strokeStyle, etc) 2015-08-28 23:09:58 -04:00
Evert Timberg
371bc8913f Start writing tests for core.helpers. Fix a number of small bugs found during testing 2015-08-28 22:32:56 -04:00
Evert Timberg
92f1c65c1c Install coverage metrics. Use gulp coverage to generate coverage reports 2015-08-28 19:02:37 -04:00
Evert Timberg
e6dc2fd6ab Initial scale tests 2015-08-23 17:17:46 -04:00