47 Commits

Author SHA1 Message Date
Jukka Kurkela
840599637f
Add 'shape' mode for filler-plugin (#9360) 2021-07-05 17:03:19 -04:00
Jukka Kurkela
fb863f3183
Filler: skip NaN points from end of segment (#9287) 2021-06-18 22:08:36 +03:00
Akihiko Kusanagi
0ba5c70618
Support monotone cubic interpolation for vertical line charts (#9084)
* Support monotone cubic interpolation for vertical line charts

* Use more more intuitive veriable names
2021-05-14 17:07:26 -04:00
Jukka Kurkela
eaa3a68cea
Add drawTime: beforeDraw option to filler (#8973) 2021-04-24 15:27:52 -04:00
Jukka Kurkela
ef4f504db9
Fix: Fill vertical lines (#8919) 2021-04-17 07:31:58 -04:00
Jukka Kurkela
ba84cc5c2a
Filler: support segment backgroundColor (#8864) 2021-04-09 19:10:48 -04:00
Jukka Kurkela
6df7fae625
Add drawTime option to filler plugin (#8796) 2021-04-03 08:13:00 -04:00
Evert Timberg
6ac89cbb25
Rename scale gridLines options to be clearer (#8628)
* Rename `options.gridLines` to `options.grid`

* Rename `offsetGridLines` to `offset`
2021-03-13 19:49:09 +02:00
Jukka Kurkela
692d8a4128
Remove unreachable code paths from plugins (#8513) 2021-02-24 21:33:07 +02:00
Jukka Kurkela
ddfbcf777a
Update eslint-config-chartjs to v0.3.0 (#8406) 2021-02-10 08:21:39 -05:00
Jukka Kurkela
58d1911d05
Add args.mode to before/after update plugin hooks (#7949) 2020-10-24 18:36:31 +03:00
Evert Timberg
bc11f10216
Rename elements to mark as elements, i.e. Arc -> ArcElement (#7924)
* Rename elements to mark as elements, i.e. Arc -> ArcElement
* Rename RectangleElement to BarElement
* Also updates options.elements.rectangle to options.elements.bar
2020-10-20 08:18:56 -04:00
Jukka Kurkela
73b4e82fd5
Use Object.create(null) as merge target, to prevent prototype pollution (#7917)
Use Object.create(null) as merge target to prevent polluting `Object.prototype`
2020-10-18 13:31:01 -04:00
Evert Timberg
c22d3bedea
Ability to fill a line from a specified value along an axis (#7905) 2020-10-17 15:46:56 -04:00
Jukka Kurkela
06b5325778
Add maxWidth/maxHeight options for legend (#7852) 2020-10-06 07:41:16 -04:00
Jukka Kurkela
dd261b22f9
Use interpolation in fill: 'stack' (and fix interpolation) (#7711)
* Add tests and fix _boundSegment
* Use interpolate for finding points below
* Remove _refPoints logic (getTarget in draw)
2020-08-16 11:18:46 -04:00
Jukka Kurkela
6f83c55be5
'stack' mode for filler (#7705)
'stack' mode for filler
2020-08-11 09:31:18 -04:00
Jukka Kurkela
b8ad2a6a0a
Registry bugs (#7608)
* Stop failing early when no scales are registered
* Move filler defaults
* Move legend defaults
* Remove legendHitBoxes from title
* Move @kurkle/color to devDependencies
2020-07-13 09:41:42 -04:00
Jukka Kurkela
d801e56106
Update dependencies and alter privacy of functions (#7138)
* Update dependencies

* Fix privacy problems

* color lib & consistency

* Review update

* getLabelCapacity

* Review update
2020-02-22 08:35:16 -05:00
Jukka Kurkela
9bd34ecf28
Fill between datasets (#7139) 2020-02-21 18:58:14 -05:00
Jukka Kurkela
7397a41fac
Change remaining for of loops to regular ones (#7103) 2020-02-14 14:12:23 -05:00
Jukka Kurkela
25a9969489
Enable esnext and fix all lint errors (#7094)
* enable esnext and fix all lint errors

* Review update

* Missed some

* Some cleanup still

* Remove leftover eslint disable
2020-02-13 18:41:49 -05:00
Jukka Kurkela
25002f2763
Defaults as ES6 class (#7074)
* Defaults as ES6 class

* Review comments
2020-02-09 08:52:18 -05:00
Ben McCann
795c86e95b
Fix errors reported by TypeScript compiler (#7030) 2020-02-07 18:03:33 -05:00
Ben McCann
1c18a74ea0
Fix some JSDoc errors (#7026)
* Fix some JSDoc errors

* Fix helpers.dom JSDoc errors

* Add scale JSDoc errors

* Address review comment

* Fix additional errors

* Document optional parameters

* JSDoc fixes for datasetController

* Remove undefined
2020-02-03 07:52:55 -05:00
Jukka Kurkela
b76dd46d72 Filler fix (#6989)
* Filler fix
* Add an indicator of reference points
2020-01-21 18:30:23 -05:00
Jukka Kurkela
f4792306e0 Remove global from defaults (#6893) 2020-01-03 14:07:38 -05:00
Jukka Kurkela
102a311b44 Rewrite filler (#6795)
Filler plugin is rewritten and test coverage increased
2019-12-31 12:56:15 -05:00
Jukka Kurkela
b83f64b16e Rewrite animation logic (#6845)
* Rewrite animation logic

* Review update 1

* Review update 2

* Review update 3

* Add 'none' to api.md
2019-12-27 17:13:24 -05:00
Jukka Kurkela
ce74eb76a1 Convert axis options from arrays to objects (#6773)
* Convert axis options from arrays to objects

* Updated all chart type defaults
* Throw errors when axis type or position are not specified
* Avoid raising unnecessary errors when merging options into the default configs

* Fix additional tests

* Ensure scale defaults are set if type is not explicitly defined

* Another step

* Include `scale` as `firstIDs.r`

* update docs

* Update for buildOrUpdateScales

* Update migration guide

* Add test back
2019-11-21 18:46:49 -05:00
L M
18e3bc0624 Allow filling above and below with different colors (#6318)
Two colors allowed : first one to fill above the target, second to fill below
Tests added
Docs edited
2019-11-21 13:48:31 -05:00
Jukka Kurkela
eb0751c6d0 Point cleanup (#6755)
* remove steppedLine from Point
* Remove tension from Point
* Migration guide, private
2019-11-17 20:28:13 -05:00
Jukka Kurkela
7f97adf5a0 Move scale defining options up from ticks (#6738)
* Move scale defining options up from `ticks`
* Include `ticks.reverse` in v3-migration
2019-11-15 12:11:13 -05:00
Ben McCann
08d133817b Remove xLabel and yLabel from tooltip and chart and scales from element (#6606)
* Element should not have reference to chart
* Remove scales from element
* Remove deprecated xLabel and yLabel
2019-10-27 16:35:15 -04:00
Jukka Kurkela
6b6f1a4c51 Implement dataset.order (#6268)
Allow sorting datasets based on the `order` property
2019-10-22 19:14:54 -04:00
Akihiko Kusanagi
e3e80c9ac6 Support spanGaps in radar charts (#6289)
* Support spanGaps in radar charts

* Minor fixes based on feedback
2019-06-19 07:12:53 -04:00
Akihiko Kusanagi
cfcdcccc32 Support boundary filling modes in radialLinear scale (#6281) 2019-05-21 11:15:33 +02:00
Jukka Kurkela
4e349a0149 Fill before drawing lines (#6208) 2019-04-18 22:52:25 +02:00
Evert Timberg
b3b5c7de4f Ensure that when we check typeof x == 'number' we also check instanceof Number (#5752) 2018-10-22 09:52:05 +02:00
Simon Brunel
fb3ea03440
Make Chart.plugins importable (#5114)
Explicitly deprecate (since 2.1.5) `Chart.Legend` and `Chart.Title`.
2018-01-08 11:48:59 +01: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
Akihiko Kusanagi
6e54bc594a Clip chart area before filling
- Add clip and unclip around doFill() call
- This fixes #4450
2017-07-04 07:27:14 -04:00
Simon Brunel
5e58114848 Fix filling between datasets of different lengths 2017-06-10 09:44:15 -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