Commit Graph

433 Commits

Author SHA1 Message Date
Jukka Kurkela
bc59038772
Allow 1px margin to getRelativePosition test (#7984) 2020-10-30 18:32:53 -04:00
Dan Manastireanu
6869a41d40
feat: Draw tooltips with point styles. Closes #7774 (#7972)
* feat: Draw tooltips with point styles. Closes #7774

* chore: Add tooltip usePointStyle docs

* chore: Add tests and visual tests for tooltip usePointStyle

* chore: Update typescript with tooltip usePointStyle
2020-10-29 22:55:40 +02:00
Dan Manastireanu
495c35950c
Add borderRadius to bar charts. Closes #7701 (#7951)
* Add helper to parse border radius options
* feat: Implement borderRadius for bar charts
* chore: add demo of bar charts with border radius
* chore: document bar borderRadius
* chore: update typescript with bar borderRadius property
* fix horizontal borders test failing due to antialiasing
* chore: Add border-radius visual test
2020-10-26 10:05:24 -04:00
Evert Timberg
4ed650acbe
Enable overriding the legend pointStyle using new pointStyle option (#7959) 2020-10-26 14:16:00 +02:00
Evert Timberg
c428797592
Enable suggestedMin and suggestedMax setts for logarithmic axes (#7955) 2020-10-25 10:38:41 -04:00
Jukka Kurkela
6a72bcbeca
Rename showLines to showLine (#7936) 2020-10-21 08:13:27 -04: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
f5c4f97504
Add interaction options (#7922)
* Add interaction options
* Add migration note
2020-10-19 07:24:06 -04:00
Evert Timberg
ac68593873
Block incorrect keys in merge code to prevent prototype pollution (#7919)
* Port fix from v2

* Port test

* Test both merge and mergeIf
2020-10-18 21:16:20 +03: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
c68ec57672
Reduce tooltip implied padding at top and bottom edges of the canvas (#7908)
* Allow the tooltip to get closer to the canvas edge

Closer to the top & bottom by considering (height/2) instead of height.

* Update missing options in TS types

* Remove unneeded brackets
2020-10-18 16:51:48 +03:00
Jukka Kurkela
ff811aaddf
Fix: beginAtZero for logarighmic (#7899) 2020-10-16 10:32:37 -04:00
Evert Timberg
3f89c25895
Ability to toggle individual bar visibility (#7870) 2020-10-12 10:22:55 -04:00
Jukka Kurkela
f1ed2ee932
beginAtZero support for logarithmic (#7862) 2020-10-07 17:37:10 -04:00
Evert Timberg
168965fa38
Enable custom sorting of the legend items (#7851) 2020-10-05 22:15:38 -04:00
Evert Timberg
a8a83d12cd
Provide APIs to set active (hovered) and tooltip elements. (#7845)
Provide APIs to set active (hovered) and tooltip elements.

Chart.setActiveElements will set the hovered items.
Chart.tooltip.setActiveElements will set the tooltip items.
2020-10-05 17:14:38 -04:00
Evert Timberg
8438da9e84
Provide method to lookup a chart from a canvas (#7843)
* Provide method to lookup a chart from a canvas
* Throw an error during construction if a canvas is in use
* Migration docs for new constructor behaviour
2020-10-04 11:08:38 -04:00
Evert Timberg
9b204eb278
Enable per-dataset circumference and rotation for pie/doughnut charts (#7833)
* Enable per-dataset circumference and rotation for pie/doughnut charts
* Convert `circumference` and `rotation` options to degrees
2020-10-03 16:47:39 -04:00
Jukka Kurkela
07d50a59bc
Clone cached options if enableOptionSharing!=true (#7837)
Clone cached options if enableOptionSharing!=true
2020-10-02 08:15:47 -04:00
Jukka Kurkela
c4243683fa
Make dataset animations obey chart level disable (#7820) 2020-09-28 09:51:28 -04:00
Samuel Gratzl
391e4b6f2e
flat helpers (#7806)
* generate a flat helpers package
* move helpers built files to dist
* upgrade docs for flat helpers
2020-09-28 09:11:55 -04:00
Jukka Kurkela
10f393a58d
Fix: maximum size and mouse position with styling (#7816)
Fix: maximum size and mouse position with styling
2020-09-26 13:18:35 -04:00
Jukka Kurkela
2f888172d4
Cache event offset coordinates (#7795) 2020-09-14 11:37:29 -04:00
Jukka Kurkela
1cc8d50bc9
Fix: relative position in FF (#7792)
* Fix: relative position in FF
* Add tests
2020-09-13 17:20:14 -04:00
Jukka Kurkela
d5eaa12d96
Fix: update chart when attached (#7758) 2020-09-04 16:47:36 -04:00
Jukka Kurkela
da33b1bb27
Fix shared option handling (#7731)
Fix shared option handling
2020-08-27 09:14:08 -04:00
Jukka Kurkela
d561486b4e
Revert "Preserve object prototypes when cloning (#7381)" (#7727)
This reverts commit 51be344717.
2020-08-24 08:15:56 -04:00
Jukka Kurkela
f5b4a0fa3c
Improve test coverage and fix minor issues found (#7713)
* Registry
* Element
* Animation
* Animations
* Animator
2020-08-17 10:03:15 -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
689befa807
Make sure bezier control points are updated (#7710)
* Make sure bezier control points are updated
* Test
2020-08-15 17:06:03 -04:00
Jukka Kurkela
6ad17c0294
Stop bundling specs for improved coverage (#7709) 2020-08-14 09:15:18 -04:00
Jukka Kurkela
9c27f74801
Export extensible classes in ESM compatible way (#7650)
* Export extensible classes in ESM compatible way
* Export collection helperrs
* Remove reduntant registry assignment
2020-08-03 12:33:41 -04:00
Jukka Kurkela
e756fb93a3
Resolve fonts through options.font (#7674)
* Resolve fonts through options.font
* Remove defaultRoutes from Tooltip fonts
2020-08-03 12:32:58 -04:00
Jukka Kurkela
dc5f88b620
Animation events sanity (#7629) 2020-07-16 13:30:07 -04:00
Jukka Kurkela
c51af9f13e
Fix category scale tick placement with autoSkip (#7622) 2020-07-15 18:12:32 -04:00
Ben McCann
426d8debba
Tooltip: add dataPoint and rename value to formattedValue (#7618)
* Tooltip: add dataPoint and rename value to formattedValue
* Add a test
2020-07-14 17:40:32 -04:00
Jukka Kurkela
6deafdb4d4
Registry fixes (#7617)
* Fix documentation for classical extensions
* Tests and fixes for registry
2020-07-13 17:43:30 -04:00
Jukka Kurkela
91164e8c66
Line hide (#7612)
* Add support for description in fixtures
* Update datasetController to draw active(s) last
* Handle hiding of line by borderWidth
* Disable filling of scatter charts by default
* Make radar chart consistent with line
2020-07-13 13:20:05 -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
Ben McCann
30e197742d
Align the tooltip callbacks parameters with scriptable options (#7603)
Align the tooltip callbacks parameters with scriptable options
2020-07-12 18:26:13 -04:00
Jukka Kurkela
7024aad38f
PluginService using registry (#7590)
PluginService using registry
2020-07-11 18:08:45 -04:00
Ben McCann
4cc3079e65
Add normalized option (#7538)
Add normalized option to time scales
2020-07-07 07:50:53 -04:00
Jukka Kurkela
6bd5ad5518
Generic registry for controllers, scales, elements and plugins (#7435)
* Generic registry for controllers, scales, elements and plugins
* Remove references to scale service
2020-07-06 17:38:04 -04:00
Ben McCann
f544707e2c
Remove duplicate tests (#7568) 2020-07-06 09:35:30 -04:00
Ben McCann
a33086bfc1
Enable autoSkip for time scale to match others (#7570) 2020-07-06 09:35:16 -04:00
Ben McCann
13e7a1163b
Use all timestamps for calculating offsets (#7573) 2020-07-06 09:34:43 -04:00
Ben McCann
919e50b9fc
Generate ticks from small to large (#7559)
* Generate ticks from small to large
* Add note to migration guide
2020-06-29 07:52:28 -04:00
Ben McCann
2ca155cce1
Add parameters to tooltip filter option (#7556) 2020-06-29 07:51:20 -04:00
Evert Timberg
ba5c9e01c6
Update tooltip when the display position changes (#7469) 2020-06-25 13:51:34 -04:00
Ben McCann
c2cd00ca90
Split time scale into time and timeseries (#7525)
* Split time scale into time and timeseries
* Address comment
2020-06-19 10:21:39 -04:00
Jukka Kurkela
6cf97859f0
Consistently resolve element options (#7520)
* Consistently resolve element options
* Add tests
2020-06-18 17:44:55 -04:00
Jukka Kurkela
40871b0062
Parse from custom properties in data (#7489)
* Parse from custom properties in data
* Resolve CC issues
* Review update
2020-06-18 17:36:53 -04:00
Jukka Kurkela
59a1af91ac
Replace horizontalBar with indexAxis: 'y' (#7514)
* Replace horizontalBar with indexAxis: 'y'
* Fix drawing of line for last x-position
* Consistently determine axis of scale
* Add test
2020-06-18 17:35:52 -04:00
Jukka Kurkela
0b3ef9c1a6
Replace ineffective test with a fixture (#7491) 2020-06-11 18:21:10 -04:00
Jukka Kurkela
281ee42def
Fix measureText bug in spriting (#7492) 2020-06-11 08:50:17 -04:00
Evert Timberg
d315934513
Radial scale scriptable options (#7471)
Scriptable radialLinear options
2020-06-11 08:49:54 -04:00
Jukka Kurkela
026482a0cf
Correctly determine min/max for Float Bar (#7398) 2020-06-09 17:15:05 -04:00
Jukka Kurkela
8e7bde25c4
Remove data checks and always re-parse data (#7458)
* Remove data checks and always re-parse data
* Fix removed helper namespace
2020-06-08 17:49:55 -04:00
Jukka Kurkela
f3cfeb8420
Implement routing of defaults (#7453)
Implement routing of defaults
2020-06-08 17:49:17 -04:00
Evert Timberg
3ec3ac716f
Cleanup Event Handling code to match style of tooltip plugin. (#7467)
* Cleanup Event Handling code to match style of tooltip plugin.

Eliminates saving two arrays of items on the chart prototype. The `onHover`
callback now receives the wrapped event instead of the native one.
2020-06-08 07:31:00 -04:00
Evert Timberg
0703d78286
Enable custom legend box heights (#7459)
Enable custom legend box heights
2020-06-04 19:53:40 -04:00
Evert Timberg
7872c8490e
Radial Linear Scale: Compute Value based on distance from center (#7449)
* Radial Linear Scale: Compute Value based on distance from center

* Code review updates
2020-06-01 08:07:48 -04:00
Jukka Kurkela
22e367c445
Make indexable options looping (#7442)
* Make indexable options looping
* Migration note
2020-05-29 16:27:10 -04:00
Jukka Kurkela
f472a3f9a7
Remove proposal and obsolete features (#7425) 2020-05-26 19:16:23 -04:00
Jukka Kurkela
ebccf225b9
Alter test to require fever iterations (#7426) 2020-05-26 18:10:28 -04:00
Yiwen Wang
94763bff35
Fix chart resizing issue (#7297) (#7298)
Fix chart resizing issue
2020-05-25 16:54:55 -04:00
Evert Timberg
13b8924ac3
Legend onClick callback supports arrow functions (#7410)
#7409 Legend callbacks support arrow functions
The `Legend` is no longer implicitly found through `this` and instead
passed as an explicit argument to the callback functions.
2020-05-24 10:28:41 -04:00
Jukka Kurkela
5a83a80811
Move font* to font.* (#7383) 2020-05-21 17:07:06 -04:00
Jukka Kurkela
39eb39008d
Rename platform/platform to index removing default (#7391)
Rename platform/platform to index removing default
2020-05-21 16:36:06 -04:00
Jukka Kurkela
cfb5fba527
Delay animations until attached (#7370)
* Delay animations until attached
* Detect container detachment
2020-05-20 17:45:44 -04:00
Jukka Kurkela
51be344717
Preserve object prototypes when cloning (#7381) 2020-05-20 17:40:42 -04:00
Jukka Kurkela
50f2a1097a
Detect data modifications with equal values (#7350)
Fix data shift-push with identical values
2020-05-19 17:58:53 -04:00
Ben McCann
a301ca148c
Add a scale.init method (#7346) 2020-05-12 16:44:40 -04:00
Jukka Kurkela
32de1b6ebf
Support isoWeekday when rounding (#7269) 2020-04-13 19:34:18 -04:00
Ben McCann
14021d369a
Remove unused layouts.defaults (#7264)
* Remove unused layouts.defaults
* Add to migration guide
2020-04-11 08:46:33 -04:00
Ben McCann
d560f9dbad
Fix overlapping ticks on log scale (#7242) 2020-04-03 18:12:34 -04:00
Ben McCann
ee0aa0c116
Fix filterBetween (#7211)
* Fix filterBetween
* Update with review suggestions
2020-03-24 12:49:48 -04:00
Ben McCann
53205457dc
Add tests for rendering to offscreen canvas (#7175)
Add tests for using an offscreen canvas for Chart.js. These tests are
almost identical to existing tests, but with offscreen canvas enabled.

Co-authored-by: David Winegar <david.winegar@getcruise.com>
2020-03-06 12:17:12 -05:00
Jukka Kurkela
a3dddb45d9
Use global element hidden status for Pie charts (#7156)
Use global element hidden status for Pie / polarArea charts
2020-03-01 09:07:39 -05:00
Jukka Kurkela
3b915cbdd3
Convert some of the time scale tests to fixtures (#7154)
* Convert some of time scale tick tests to fixtures
* A little more threshold
2020-02-28 18:56:22 -05:00
Ben McCann
3c1e04f928
Allow registering scale with single parameter (#7157)
Allow registering scale with single parameter
2020-02-27 19:38:10 -05:00
Jukka Kurkela
774493e23d
Add some tests to improve coverage (#7164) 2020-02-27 19:37:11 -05:00
Jukka Kurkela
ac69e81b04
Turn elements/index into an index (#7135) 2020-02-26 18:08:29 -05:00
Jukka Kurkela
5e489f16f6
Issue 4991 (#7084)
* Fix remaining handleEvent issues

* Reduce lines

* Update tooltip always on replay

* Address issues

* Fix test

* More tooltip fixing

* Extend comment
2020-02-25 14:35:32 -05:00
Jukka Kurkela
a9ae64f1e2
Stop leaking fonts (and fillStyle) to ctx (#7150) 2020-02-23 13:08:01 -05: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
7b029aa780
Doughnut / PolarArea cleanup (#7113)
Doughnut / PolarArea cleanup
2020-02-17 18:45:30 -05:00
Jukka Kurkela
bfe34214ac
Use ResizeObserver and MutationObserver to detect detach/attach/resize (#7104)
* Use Resize/MutationObserver to detect detach/attach/resize
* Cleanup
* Review update
* Restore infinite resize detection (#6011)
2020-02-17 11:00:03 -05:00
Jukka Kurkela
f0fd28af66
Allow "spriting" text in fixtures (#7073)
Allow "blit" text drawing in fixtures
2020-02-14 12:33:08 -05:00
Jukka Kurkela
7c1fb37c61
Babel @kurkle/color for IE support (#7099)
Babel @kurkle/color for IE support
2020-02-14 12:29:33 -05:00
Ben McCann
2f17dbcd70
Prefix private controller methods with underscore (#7081)
Prefix private controller methods with underscore
2020-02-10 17:57:22 -05:00
Jukka Kurkela
44a624f2d1 Fix typo and update dependencies (#7077)
* Fix typo and update dependencies
* Update `isColorInstance`
2020-02-09 20:14:38 -05:00
Ben McCann
12ea8d86ca
Fix time scale computeOffsets (#7072) 2020-02-08 18:08:42 -05:00
Jukka Kurkela
fa79eb8797
Switch from chartjs-color to @kurkle/color (#7059) 2020-02-07 19:24:29 -05:00
Ben McCann
a30f753321
Finishing removing old major/minor options (#7042)
* Finishing removing old major/minor options
* Fix samples
2020-02-05 18:20:01 -05:00
Ben McCann
f5d9892ad8
Improved formatting of numeric scale labels (#7007)
* Improved formatting of numeric scale labels

* Put locale on options

* Use scientific notation for big ticks

* Remove extra parameter
2020-02-03 07:36:30 -05:00
Ben McCann
d449bbc83a
Remove unused helpers (#7039) 2020-01-30 19:23:40 -05:00
Ben McCann
c667a9ef85
Move text helpers and reduce scope of imports (#7028) 2020-01-30 19:19:53 -05:00
Ben McCann
1ae11c4d40 Format numbers in tooltip (#7004)
* Format numbers in tooltip
* Add check for typeof number
* Implement only for linear and log scales
2020-01-27 17:58:58 -05:00
David Winegar
1ad5f369af Allow switching platforms (#6964)
Allow switching platforms

Move the Chart.platform to Chart.platform.current instead, and add
ways to see available platforms and set the current platform. This
is necessary for adding tests that use the "basic" platform.
2020-01-26 15:33:20 -05:00