131 Commits

Author SHA1 Message Date
Ben McCann
fe3931b077 Reduce scope of imports (#7000) 2020-01-22 07:19:44 -05:00
Ben McCann
9bd2af9e9b Move location of dataset options (#6955)
* Move location of dataset options
* Fix misplaced period
2020-01-13 19:39:30 -05:00
Ben McCann
c6c4a52257 Switch most requires to imports (#6935) 2020-01-09 07:23:53 -05:00
Jukka Kurkela
16bb94ebc1 Bar chores (#6889)
* Limit invisible bar section size

* Improve readability

* Fix for issue 6368

* Raview update

* Review update, add test

* Typos

* Try to make sense :)
2020-01-08 17:27:17 -05:00
Jukka Kurkela
b5d5ed987a Internal data by axis instead of scale id (#6912)
* Internal data by axis instead of scale id

* Test

* Update test

* Update docs
2020-01-06 07:22:18 -05:00
Evert Timberg
b464999851
Bar chart defaults to begin at zero (#6917)
* Bar chart defaults to begin at zero

* Add bar beginAtZero test
2020-01-05 15:50:24 -05:00
Jukka Kurkela
f4792306e0 Remove global from defaults (#6893) 2020-01-03 14:07:38 -05:00
Ben McCann
8bc250f63a Remove unnecessary method argument (#6878)
Remove unnecessary method argument
2019-12-31 08:23:03 -05:00
Jukka Kurkela
dbd835f4f3 Use ticks consistently (#6873) 2019-12-30 17:14:55 -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
Evert Timberg
c8bdca62e8
Move all helpers to src/helpers (#6841)
* Move all helpers into src/helpers

* Move curve helpers to their own file

* DOM helpers moved to their own file

* Update migration docs

* Remove migration docs on new functions
2019-12-17 08:04:40 -05:00
Jukka Kurkela
6d8bde48bd Simplify stacking even more, leverage more ES6 features (#6769)
* Simplify stacking even more
* Destructuring
2019-11-24 07:53:52 -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
Jukka Kurkela
1a9db4783c Remove _ctx from Element (#6764)
* Remove _ctx from Element

* Sort
2019-11-19 19:01:32 -05:00
Ben McCann
34b93751db Change updateElement to updateElements (#6722) 2019-11-19 07:12:38 -05:00
Jukka Kurkela
e5b03a0975 Improve stacking performance and footprint (#6762)
* Improve stacking speed and footprint

* Better utilization of caches

* Chore
2019-11-18 18:51:58 -05:00
Jukka Kurkela
aa3e4c4d27 Tooltip label and value via controller (#6744) 2019-11-15 11:51:45 -05:00
Jukka Kurkela
931d686adb Float bars: data as objects (#6739)
Float bars can be specified in object data points
2019-11-15 08:40:45 -05:00
Jukka Kurkela
76a89f0922 determineDataLimits optimizations (#6695) 2019-11-12 19:24:07 -05:00
Ben McCann
a3392e0e59 Remove index and datasetIndex from Element (#6688)
Remove `index` and `datasetIndex` properties from elements.
2019-11-10 07:52:12 -05:00
Jukka Kurkela
81f5cf416a Performance optimizations when animations are disabled (#6710)
* Don't copy _model when animations are disabled

* Review comments
2019-11-09 21:57:54 -05:00
Ben McCann
e42413f3e8 Remove unused model properties (#6691)
* Remove unused model properties
* Add to migration guide
2019-11-05 18:10:44 -05:00
Jukka Kurkela
72df272234 Early data parsing, stacking by value and support object data (#6576)
* Early data parsing + stacking by value
* Review comments
* review comments
* Remove reduntant parsing
* Couple CC warnings
* Optimize filterBetween
* More migration info
2019-11-04 18:07:01 -05:00
Jukka Kurkela
0228776e66 Remove deprecated interaction modes (#6625)
* Remove deprecated interaction modes
* Use default modes
2019-10-28 18:11:38 -04:00
Ben McCann
26dc04d25f Remove deprecated code from time scale and bar chart (#6622)
* Remove deprecated code from bar chart
* Remove deprecated code from time scale
2019-10-27 18:46:28 -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
Ben McCann
0da237a315 Remove undocumented "custom" feature (#6605)
Remove undocumented "custom" feature
2019-10-27 16:33:21 -04:00
Ben McCann
9ff1c845f2 Bar options should not be defined on scale (#6249)
* Bar options should not be defined on scale

* Improve minimization

* Add tests

* Multiple datasets in test
2019-10-25 12:17:41 -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
Ben McCann
40934837c9 Minor cleanup (#6362) 2019-08-12 20:36:46 -04:00
Jukka Kurkela
cbace1cfe2 Handle reverse support in core.scale (#6343)
* Move log10 from core.helpers to helpers.math

* Refactor scales
2019-07-15 17:20:16 -04:00
gwyneblaidd
7d8526f691 Add support for floating bar chart ([start, end]) (#6056) 2019-05-21 10:54:13 +02:00
Akihiko Kusanagi
feeda5d034 Make legend appearance consistent with chart elements (#5621) 2019-05-09 15:33:19 +02:00
Ben McCann
d6a5ea0d36 Implement per-dataset type (default and per-chart) options (#5999) 2019-05-06 22:52:40 +02:00
Ben McCann
2f874fde62 Use lowercase for primitives in jsdocs (#6033) 2019-02-11 08:51:39 +01:00
Jukka Kurkela
7bbf3cab5b Return correct label for value type axis (#5920) 2019-01-17 16:04:08 +01:00
Akihiko Kusanagi
820debf452 Refactoring using helpers.options.resolve (#5965) 2019-01-08 16:50:33 +01:00
Akihiko Kusanagi
39b4d61ac2 Fix time scale ticks.reverse issue (#5933) 2019-01-02 16:00:55 +01:00
Jukka Kurkela
918e2c027f Cast getRightValue to number in the bar controller (#5947) 2019-01-02 15:55:27 +01:00
Simon Brunel
be8d78a900
Make Chart.controllers.* importable (#5871)
`controllers.*.js` and `core.datasetController.js` are now importable (no more function export), that's why there is so many changes mainly due to one indentation level removed. Split code for `bar/horizontalBar` and `doughnut/pie` in separate files, added a global controllers import (`src/controllers/index.js`) and add tests to check that all dataset controllers are correctly registered under `chart.controllers.{type}`.
2018-11-29 21:06:34 +01:00
Simon Brunel
ae80e14c51
Make bar styling options scriptable (#5780)
The bar `backgroundColor`, `borderColor`, `borderWidth` and `borderSkipped` options are now scriptable (unit tests, docs and a basic sample). Also fix the gulp task that generates the documentation on Windows.
2018-11-12 21:15:37 +01:00
Alexandre Dubé
5816770e45 Introduce the 'minBarLength' bar option (#5741) 2018-10-18 22:28:56 +02:00
Ben McCann
da3aa68f38 Restore original styles when removing hover (#5570)
Refactor `updateElement` and `removeHoverStyle` and fix tests.
2018-06-26 08:56:53 +02:00
Simon Brunel
15d1056b53
Implement equally sized bars (#4994)
When `barThickness: undefined|null` (default), we compute an optimal sample size based on the smallest tick interval reduced to prevent any bar to overlap (bar equally sized). Also added support for a special `barThickness: 'flex'` value (previous default) that globally arranges bars side by side to prevent any gap when percentage options are 1 (variable bar sizes).
2017-12-02 12:38:36 +01:00
jcopperfield
447ca40a7f Correctly handle stacked groups when not adjacent (#4937)
Only the dataset index was used for indexing the stack
2017-11-14 10:33:36 +01:00
Akihiko Kusanagi
5d57de4e4d Fix bar chart with {x, y} data points (#4673) 2017-08-26 07:50:39 +02:00
Akihiko Kusanagi
7dc71d009b Make offsetGridLines consistent and add new offset scale option (#4545)
Add a new `offset` option to scales to add extra space at edges and remove the `includeOffset` argument from `getPixelForValue()` and `getPixelForTick()`. The bar controller now automatically calculates the bar width to avoid overlaps. When `offsetGridLines` is true, grid lines move to the left by one half of the tick interval, and labels don't move.
2017-08-14 10:09:33 +02:00
Simon Brunel
53b7a6392f Change scale.ticks back to an array of strings (#4573)
Internal ticks are now stored as objects in the PRIVATE this._ticks member and must not be accessed directly from outside this class. this.ticks is around for a long time and hasn't been marked as private, so we can't change its structure without unexpected breaking changes. If you need to access the scale ticks, use scale.getTicks() instead.
2017-07-29 21:26:36 +02:00
Ben McCann
56fdd7ebc1 Allow specifying bar chart via {x, y} data points (#4565) 2017-07-29 21:22:52 +02:00
Evert Timberg
326991ce50 index-y interaction mode + convert horizontal bar defaults to new mode (#4458)
index-y interaction mode + convert horizontal bar defaults to new mode
2017-07-28 18:07:28 -04:00