Commit Graph

79 Commits

Author SHA1 Message Date
Boyi C
ce1fc28b74 Improve point.xRange and point.yRange performance (#5062) 2017-12-18 20:24:02 +01:00
Simon Brunel
9ef5cc72f6 Enforce variable declaration coding style (#4610)
For consistency, enable ESLint `one-var` rule to require multiple variable declarations for initialized variables per scope. Uninitialized variables can still be declared together (preferred) or separately.

http://eslint.org/docs/rules/one-var
2017-08-03 18:33:18 +02:00
Simon Brunel
4c763bff44 Enforce spaces around infix/unary words operators (#4547)
Enable ESLint `space-infix-ops` and `space-unary-ops` (for words only) rules. Also added `samples` to the linting task to match Code Climate expectations.

http://eslint.org/docs/rules/space-infix-ops
http://eslint.org/docs/rules/space-unary-ops
2017-07-22 14:13:09 +02:00
Simon Brunel
586b8c12fc Make Chart.Element/elements.* importable (#4540) 2017-07-21 08:40:01 +02:00
Simon Brunel
889ecd560b Make Chart.defaults/Ticks/Interaction importable (#4512)
Default options can now be accessed by importing `core/core.defaults`. The returned object acts as a singleton and is populated when importing classes that expose their own default values (meaning that importing only `code.defaults` results in an empty object). Also make `Chart.Ticks` and `Chart.Interaction` importable since existing defaults rely on these values.

Add the `defaults._set` method that make easier declaring new defaults by merging given values with existing ones for a specific scope (`global`, `scale`, `bar`, etc).
2017-07-16 19:38:19 +02:00
Simon Brunel
717e8d950a Make Chart.helpers importable (#4479)
Properly export helpers and remove dependencies to `Chart.helpers`. Helpers can now be accessed from `src/helpers/index.js` (`var helpers = require('path/to/helpers/index')`, instead of `var helpers = Chart.helpers`).
2017-07-15 15:13:56 +02:00
Simon Brunel
5d95280d7b Change valueAtIndexOrDefault behavior (#4423)
For consistency with `valueOrDefault`, `valueAtIndexOrDefault` now returns null if `value` (expected array) is null. Also get rid of the superfluous `get` prefix in `getValueOrDefault` and `getValueAtIndexOrDefault`.
2017-06-25 10:54:37 +02:00
Simon Brunel
5196e05062 Cleanup and reorganize core and canvas helpers
Move some of the "core" and "canvas" utils in `helpers.core.js` and `helpers.canvas.js` and introduce the new `isNullOrUndef` and `isObject` helpers. Deprecate `indexOf` and rename `drawRoundedRectangle` to `roundedRect` which now creates a simple `rect` path if radius is 0. Write missing unit tests for the moved helpers.
2017-06-24 13:28:52 -04:00
Simon Brunel
4b421a50bf Add support to fill between datasets (#4008)
The `fill` option now accepts the index of the target dataset (number) or a string starting by "+" or "-" followed by a number representing the dataset index relative to the current one (e.g. `fill: "-2"` on dataset at index 3 will fill to dataset at index 1). It's also possible to "propagate" the filling to the target of an hidden dataset (`options.plugins.filler.propagate`). Fill boundaries `zero`, `top` and `bottom` have been deprecated and replaced by `origin`, `start` and `end`.

Implementation has been moved out of the line element into a new plugin (`src/plugins/plugin.filler.js`) and does not rely anymore on the deprecated model `scaleTop`, `scaleBottom` and `scaleZero` values. Drawing Bézier splines has been refactored in the canvas helpers (note that `Chart.helpers.canvas` is now an alias of `Chart.canvasHelpers`).

Add 3 new examples and extend utils with a pseudo-random number generator that can be initialized with `srand`. That makes possible to design examples starting always with the same initial data.
2017-03-18 11:08:57 +01:00
SAiTO TOSHiKi
5387c48bd8 Fix bar draw issue with borderWidth. (#3680)
Fix bar draw issue.
1. `Chart.elements.Rectangle.draw` function supports both horizontal and vertical bar.
2. Corrected bar position at minus.
3. Adjust bar size when `borderWidth` is set.
4. Adjust bar size when `borderSkipped` is set.
5. Adjust `borderWidth` with value near 0(base).
6. Update test.
2016-12-20 09:01:07 -05:00
SAiTO TOSHiKi
5a24bfa500 Implement clipping (#3658)
Implements clipping of items outside the chart area. Resolves #3506 #3491 #2873
2016-12-03 16:09:45 -05:00
etimberg
3365ba6d29 Bar chart performance improvements 2016-10-14 06:20:08 -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
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
Zach Panzarino
a929fd473e Include changes suggested by @etimberg in code review 2016-09-15 01:21:45 +00:00
Zach Panzarino
dd8fa78b45 Fix more style errors in controllers, elements, and scales 2016-09-14 22:34:41 +00:00
Zach Panzarino
2d2f475a7a First round of eslint fixes 2016-09-14 18:05:19 +00:00
Simon Brunel
7c93255b16 Enforce curly braces for single statement block
curly: [error, all] (http://eslint.org/docs/rules/curly)
2016-09-03 18:42:28 +02:00
Simon Brunel
3d40774c7d Enforce consistent tab indentation
indent: [error, tab] (http://eslint.org/docs/rules/indent)
2016-09-03 18:42:26 +02:00
Zach Panzarino
c20d391b49 Remove empty if statement in element.line.js 2016-08-10 01:39:03 +00: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
47b5ad60ae Fix JSHint warnings 2016-07-24 18:21:24 -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
49c4169010 Bring back capping of bezier curve points and have an option to disable it (#2948) 2016-07-09 15:24:41 -06:00
Evert Timberg
6f392639c2 Merge branch 'master' of https://github.com/amlethojalen/Chart.js into amlethojalen-master 2016-07-09 09:39:43 -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
amlethojalen
68728fc9a7 Added ability to render a line chart as a stepped line chart.
Added option.elements.line.stepped
Added dataset.steppedLine
Added Sample, and updated documentation.
2016-07-06 11:13:12 +10:00
amlethojalen
bddc870201 Added ability for drawing a Line Chart as a stepped Line Chart. (reverted from commit efd06c886d) 2016-07-06 10:25:01 +10:00
amlethojalen
efd06c886d Added ability for drawing a Line Chart as a stepped Line Chart. 2016-07-05 19:50:53 +10:00
Simon Brunel
f36123925c Fix #2734 Cleanup unused variables 2016-06-18 11:00:11 +02:00
Ryan M. Poe
77357e57d6 Refactor spanGaps for line graphs with sparse data (#2721)
Fix #2435, this very slim patch (including its relevant documentation addition) adds a small option to line chart datasets (spanGaps) that allows users trying to graph sparse datasets to have lines between null entries drawn, rather than omitted.
2016-06-07 09:15:26 +02: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
cca4c76c00 Don't use translates and rotates for drawing rotated rectangles 2016-05-26 19:38:27 -04:00
Simon Brunel
93c28a4d5f Optimize element.point and controller.line
Change some helpers.each() to `for` loops when iterating on a potentially large number of items and use more local variables when appropriate (making the minified build a bit smaller).
2016-05-18 00:25:45 +02:00
Blake Niemyjski
bea68f1424 Performance and minification improvements 2016-05-13 22:07:39 -05:00
Evert Timberg
cf5c75ea9e get a little more from the point element 2016-05-07 17:09:17 -04:00
Evert Timberg
72c791f352 Revert "Reduce element.point size"
This reverts commit 09bcac9b5c.
2016-05-07 17:00:00 -04:00
Evert Timberg
09bcac9b5c Reduce element.point size 2016-05-05 20:00:11 -04:00
Evert Timberg
8f6f882068 Fix jshint issue 2016-05-04 22:16:07 -04:00
Evert Timberg
4258137171 Size reduction for elements 2016-05-04 22:08:55 -04:00
Michael de Hoog
d3a29967e2 Added rotation and circumference properties to doughnut/pie charts 2016-04-17 00:23:48 +10:00
Ivan Samoylenko
81e1448836 Added 'borderSkipped' parameter to Rectangle. 2016-03-13 18:58:36 +03:00
Evert Timberg
f5a2e394c8 Fix radius 0 2016-02-20 08:44:25 -05:00
Mathias Küsel
86b9139617 Adds the ability to draw custom point styles 2016-02-18 22:03:20 +01: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
Tanner Linsley
813d18bd78 Passing All Tests, Updated Dependencies 2016-02-11 23:16:43 -07:00
Tanner Linsley
f2780bb825 Browserify for easier UMD consumptions and vanilla builds 2016-02-11 20:30:53 -07:00
Mathias Küsel
b282a01ab6 Fixes rect size 2016-01-18 20:04:31 +01:00