181 Commits

Author SHA1 Message Date
nikethan rai
7dabae9a86
Fix: Typo that-->than (#9708) 2021-10-02 17:02:38 -04:00
Evert Timberg
8e68481ec4
Remove const me = this pattern (#9646) 2021-09-14 07:37:22 -04:00
Evert Timberg
f5c9a656ef
Configurable tooltip box padding (#9625) 2021-09-06 09:13:21 -04:00
Evert Timberg
0cdadd2560
Enable per-corner border radius in tooltip (#9620) 2021-09-05 13:07:28 -04:00
Evert Timberg
27b91b7458
Adjust legend hitboxes when RTL and each item has a different size (#9353)
* Adjust legend hitboxes when RTL and
each item has a different size

* Add test for RTL legend hitboxes
2021-07-10 18:36:46 -04:00
Jukka Kurkela
066130be4d
Decimation: Prevent buffer overflow (#9367) 2021-07-07 17:45:31 -04:00
Jukka Kurkela
840599637f
Add 'shape' mode for filler-plugin (#9360) 2021-07-05 17:03:19 -04:00
Nico-DF
b4dee5507c
Adding threshold option to decimation plugin (#9327) 2021-07-04 13:19:35 -04:00
Evert Timberg
3a790329c6
Ensure correct item is clicked when a horizontal legend is in RTL mode (#9340) 2021-07-01 14:14:05 -04:00
Jukka Kurkela
c6976e8975
New plugin: subtitle (#9294)
* New plugin: subtitle

* Fix naive error for multiple charts
2021-06-20 07:34:55 -04:00
Jukka Kurkela
87bd5785ff
Legend: fix layout padding handling (#9290) 2021-06-19 18:31:33 -04:00
Jukka Kurkela
fb863f3183
Filler: skip NaN points from end of segment (#9287) 2021-06-18 22:08:36 +03:00
Evert Timberg
be011768fe
Fix rtl legend text alignment (#9199)
* Start fixing RTL

* Broken test

* Fix right alignment for horizontal legends
2021-06-01 18:36:55 +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
Evert Timberg
cc4ce7adef
Do not redraw endlessly on mouse move (#8898)
* Do not redraw endlessly on mouse move

The tooltip incorrectly determined that the position changed leading to many redraws

* Code review feedback
2021-04-15 16:36:03 -04:00
Nico-DF
5a27de32da
Setting correct decimated values when below threshold (#8883)
* Setting correct decimated values when below threshold
* Using existing function for cleaning decimated data
* Cleaning decimated only on current dataset
* Reordering decimation clean to avoid allocation
2021-04-12 09:08:39 -04:00
Jukka Kurkela
f8885ce7a2
Font validate style, move defaults to weight (#8877) 2021-04-10 15:58:11 -04:00
Evert Timberg
d6d189c804
Legend boxes support borderRadius (#8875) 2021-04-10 15:05:34 -04:00
Evert Timberg
7ee498e412
Tooltip colorbox supports configurable borderWidth, borderRadius, and dash effect (#8874)
* Start on extending tooltip style
* Correct borderRadius implementation
* Tests of updated tooltip styling
* Update docs
2021-04-10 13:37:22 -04:00
Jukka Kurkela
ba84cc5c2a
Filler: support segment backgroundColor (#8864) 2021-04-09 19:10:48 -04:00
Nico-DF
ba3320ef19
Filtering data before decimation (#8843)
* Filtering data before decimation

Using only points between the currently displayed x-axis for the decimation algorithm.
Allows better resolution, especially if using a zoom

If data are outside range, they will not be displayed, hence the line graph will not show the trend at extremities

* Fix LTTB algorithm

* Adding test file

* Simplifying count algorithm for decimation plugin
2021-04-07 16:40:45 -04:00
Evert Timberg
bdfaa44ab3
Correct decimation plugin documentation (#8801)
* Correct decimation plugin documentation

* The default for decimation is `false`.
* Added a sample for data decimation
* Corrected an issue in the decimation plugin when switched from enabled to disabled
2021-04-03 13:06:31 -04:00
Evert Timberg
238bfa589c
Add the ability to change font color per legend item (#8800) 2021-04-03 11:55:27 -04:00
Jukka Kurkela
6df7fae625
Add drawTime option to filler plugin (#8796) 2021-04-03 08:13:00 -04:00
Evert Timberg
d2c8402445
Scriptable title plugin options (#8764) 2021-04-01 10:16:03 +03:00
Jukka Kurkela
88c585b11e
Legend: adjust lifecycle and event handling (#8753) 2021-03-30 10:12:07 -04:00
Jukka Kurkela
fe406bf717
Legend: Ignore replayed events (#8749) 2021-03-28 12:21:53 -04:00
Jukka Kurkela
b2c7baf10d
Avoid recursive event replay loops (#8738)
* chart._lastEvent = null while processing onHover

* Pass replay flag to external tooltip

* Add test for replay

* cc
2021-03-27 06:11:51 -04:00
Jukka Kurkela
97136d0cbf
Add textAlign for legend labels (#8665)
* Add textAlign for legend labels

* Update tests
2021-03-18 07:37:03 -04:00
Jukka Kurkela
f10b510890
Fix tooltip padding (#8666) 2021-03-18 07:27:37 -04:00
Jukka Kurkela
a6b3b99675
Fix tooltip positioning issues (#8646)
* Fix tooltip positioning issues

* Update fixture, add npm run dev:ff

* Refactor determineXAlign

* Simplify more

* remove unneeded change
2021-03-16 08:06:05 -04:00
Jukka Kurkela
4d173c6b8a
Allow tooltip callback override in dataset (#8640) 2021-03-14 11:29:54 -04:00
Evert Timberg
96f6b42c57
Use font lineHeight for tooltip alignment (#8631)
* Use font lineHeight for tooltip alignment
* Remove toFontString usage from tooltip
2021-03-13 15:14:48 -05: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
Evert Timberg
91628c1449
Tooltip specific scriptable context (#8561)
* Update plugin to use it's own tooltip context

* Scriptable tooltip option types

* Tests

* Update types to use UnionToIntersection

* Update TooltipItem to use UnionToIntersection
2021-03-04 08:25:24 -05:00
Jacco van den Berg
9741942976
rename tooltip.custom property to tooltip.external (#8523)
* rename tooltip.custom property to tooltip.external

* Implement feedback

* missed 1
2021-02-27 18:18:12 +02:00
Jukka Kurkela
692d8a4128
Remove unreachable code paths from plugins (#8513) 2021-02-24 21:33:07 +02:00
Evert Timberg
8c4e862a2c
Merge tooltip padding settings (#8493) 2021-02-22 08:30:25 +02:00
Evert Timberg
5c9e1d578c
LTTB Decimation (#8468)
* LTTB Decimation
* Lint fixes
2021-02-21 09:15:45 -05:00
Evert Timberg
709dc3e854
Decimation plugin fixes (#8467)
* fix: Decimation plugin no longer changes the data order
fix: Decimation plugin no longer duplicates data points

* Use nullOrUndef helper instead of direct check

* Compute averageX value when decimating data using minMax decimation

* Place last point of interval at real X

This reduces the fuzziness on screens with devicePixelRatio > 1
2021-02-20 15:01:21 -05:00
Jukka Kurkela
5d5e48d01b
Isolate properties / modes from animation options (#8332)
* Isolate properties / modes from animation options
* tabs, something wrong with the linter
* Update misleading variable name
2021-02-20 09:02:22 -05:00
Jukka Kurkela
aa5e0fe413
Remove core plugin fallbacks to root options (#8462)
* Remove core plugin fallbacks to root options
* Legend font color default fallbacks
2021-02-19 17:53:01 -05:00
Jukka Kurkela
cfd9c98575
Option resolution with proxies (#8374)
* Option resolution with proxies

* Remove plugin fallback to root options/defaults

* Update core plugins, reduntant font fallbacks

* Add some notes
2021-02-15 14:42:32 -05:00
Jukka Kurkela
ddfbcf777a
Update eslint-config-chartjs to v0.3.0 (#8406) 2021-02-10 08:21:39 -05:00
Ben McCann
eb7ce4e5a0
Add raw data to context and rename dataPoint to parsed (#8318)
* Make the raw data point available in scriptable context
* Rename variables
* Update samples
2021-02-05 09:13:32 -05:00
Evert Timberg
650956b2e1
Create a new hook to enable data decimation (#8255)
* Create a new hook to enable data decimation

The `beforeElementUpdate` hook can be used to decimate data. The chart
elements will not be created until after this hook has fired ensuring that
if decimation occurs, only the needed elements will be created.

* Address code review feedback

* Rename hook to beforeElementsUpdate

* Simplify parsing logic

* Add decimation plugin to the core

* Allow a dataset to specify a different data key

* Decimation plugin uses the dataKey feature

* Refactor the decimation plugin to support configurable algorithms

* Lint the plugin changes

* Tests for the dataKey feature

* Convert test files to tabs

* Standardize on tabs in ts files

* Remove the dataKey feature

* Replace dataKey usage in decimation plugin

We define a new descriptor for the `data` key allowing the
plugin to be simpler.

* Disable decimation when indexAxis is Y

* Simplify the decimation width approximation

* Resolve the indexAxis correctly in all cases

* Initial documentation

* Reverse check

* Update TS definitions for new plugin options

* Move defineProperty after bailouts

* Add destroy hook
2021-02-01 16:37:32 -05:00
Jukka Kurkela
ad84d285d8
Rename LayoutItem.fullWidth to fullSize (#8358) 2021-01-31 13:44:44 -05:00
Jukka Kurkela
610461d714
Use provided options in tooltip plugin (#8254) 2020-12-31 08:46:23 +02:00