54 Commits

Author SHA1 Message Date
Ben McCann
c6c4a52257 Switch most requires to imports (#6935) 2020-01-09 07:23:53 -05:00
Evert Timberg
5f6c3df6dc
Title alignment options (#6908)
* Add alignment options for title plugin.

Alignment can be set to 'start', 'center'. or 'end'. A new sample has been added as well.

* Update sample file title
2020-01-05 14:59:57 -05:00
Ben McCann
ecb0784f0d Remove minSize (#6910) 2020-01-05 10:42:42 -05:00
Jukka Kurkela
f4792306e0 Remove global from defaults (#6893) 2020-01-03 14:07:38 -05:00
Evert Timberg
e96ad6f249
Remove HTML legend that is mostly unsupported. (#6887)
* Remove HTML legend that is mostly unsupported.

Resolves the discussion in #5070

* Add migration docs
2020-01-03 13:56:11 -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
Ben McCann
fc7a72a8c1 Remove helpers.where and unnecessary calls to helpers.each (#6860)
* Remove unnecessary calls to helpers.each

* Remove where
2019-12-25 08:21:42 -05:00
SansDK
1d35ebb290 (feature) Added separate top and bottom padding for title plugin. (#6852)
* (feature) Added separate top and bottom padding for title plugin.

* Added regular padding multiplier like how it was before.

* Now makes use of toPadding helper.
Fixed typo in toPadding helper.

* Fixed requested changes.
2019-12-20 08:21:20 -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
Ben McCann
64bc48ab53 Remove Element.initialize (#6777) 2019-11-21 07:06:15 -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
4a8a7ee824 Use ES6 classes for elements (#6702)
* Use ES6 classes for elements

* Add additional elements
2019-11-07 19:51:26 -05:00
Jukka Kurkela
6942e9058c Hide correct dataset from legend (#6667) 2019-11-01 14:06:08 -04: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
Daniel Cohen Gindi
376da2131e Implemented RTL support for legends and tooltips (#6460)
Implemented RTL support for legends and tooltips
2019-09-11 19:20:03 -04:00
Ben McCann
ce8ee02ccd Reduce indentation by reversing if check (#6497) 2019-09-07 10:56:15 -04:00
Ben McCann
df9e2d00bd Html dom building (#6490)
Replaces #6179 and builds HTML legend strings using dom nodes rather than building up an HTML string directly.
2019-09-07 07:19:17 -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
d81914ea29 Adjust virtical alignment of tooptip items (#6292) 2019-06-19 07:11:48 -04:00
Akihiko Kusanagi
cfcdcccc32 Support boundary filling modes in radialLinear scale (#6281) 2019-05-21 11:15:33 +02:00
Akihiko Kusanagi
feeda5d034 Make legend appearance consistent with chart elements (#5621) 2019-05-09 15:33:19 +02:00
Jukka Kurkela
4e349a0149 Fill before drawing lines (#6208) 2019-04-18 22:52:25 +02:00
Dave Kichler
07fae6159e Implement legend.align: 'start', 'center', 'end' (#6141)
New `options.legend.align`config option for controlling alignment of legend blocks in horizontal/vertical legends.
2019-03-23 10:25:17 +01:00
Jon Rimmer
f3b18373e6 Add onLeave callback to legend (#6059) 2019-02-24 10:58:22 +01:00
Ben McCann
2f874fde62 Use lowercase for primitives in jsdocs (#6033) 2019-02-11 08:51:39 +01:00
Alfie Hopkin
af464f8a85 Enhance legend label color point when usePointStyle is true (#6006) 2019-02-10 19:04:29 +01:00
Akihiko Kusanagi
820debf452 Refactoring using helpers.options.resolve (#5965) 2019-01-08 16:50:33 +01:00
Akihiko Kusanagi
d29ec5a485 Add scale.pointLabels.lineHeight and scale.ticks.lineHeight options (#5914) 2018-12-20 09:56:06 +01:00
Akihiko Kusanagi
e730f87e15 Fix legend item layout issue (#5816) 2018-11-12 08:57:16 +01: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
6bea15e7cf
Rename Chart.layout to Chart.layouts (#5118)
Chart.layouts seems more consistent with other service names (Chart.plugins, Chart.scales, etc.) but also more inline with the service which handle many layout (one per charts).
2018-01-09 14:12:40 +01: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
ce27fe5ea6
Make Chart.layout(Service) importable (#5113)
Rename (and deprecate) `Chart.layoutService` to `Chart.layout` and make it importable.
2018-01-07 23:38:26 +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
090196c07c Add support for line height CSS values (#4531)
The title plugin and scale title now accept lineHeight specified using unitless value (1.4), length ('1.4em' or '12px'), percentage ('200%') or keyword ('normal' === 1.2). The line height parsing has been refactored under the 'Chart.helpers.options' namespace. Also fix incorrect text positioning in the title plugin.

https://developer.mozilla.org/en-US/docs/Web/CSS/line-height
2017-07-20 19:20:54 +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
225bfd36f3 Rewrite the clone and merge helpers (#4422)
The `clone` method now accepts any type of input but also recursively perform a deep copy of the array items. Rewrite the `configMerge` and `scaleMerge` helpers which now rely on a new generic and customizable `merge` method, that one accepts a target object in which multiple sources are deep copied. Note that the target (first argument) is not cloned and will be modified after calling `merge(target, sources)`. Add a `mergeIf` helper which merge the source properties only if they do not exist in the target object.
2017-07-01 14:51:38 +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
Evert Timberg
6c82c93853 Fix error when legend label options are not defined (#4402) 2017-06-24 17:35:46 +02:00
etimberg
de0ea5c6ba Multiple lines of text in the chart title 2017-06-19 07:07:35 -04:00
Simon Brunel
5e58114848 Fix filling between datasets of different lengths 2017-06-10 09:44:15 -04:00