Commit Graph

171 Commits

Author SHA1 Message Date
Dan Onoshko
51441272a7 refactor: move to esm in sources (#10879) 2022-11-17 08:08:44 -05:00
Dan Onoshko
d1e118aea8 refactor: move batch of helpers to ts (#10722)
* refactor: move batch of helpers to ts

* refactor: review fixes
2022-09-30 09:48:12 -04:00
Jacco van den Berg
5f37ba6fc4 Add warning if filler plugin is used but not registered (#10702)
* add warning if filler plugin is used but not registered

* fix lint

* increase size limit

* add test, only put warning in dataset controller

* fix register in docs, remove commented code

* remove other mr

* add documentation

* Apply suggestions from code review

Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>

* Also return false if plugin is disabled by options

* improve warning message

* undo docs changes

* update test

Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>
2022-09-26 20:20:54 +02:00
Dan Onoshko
a4de430d99 fix: treeshaking (#10504)
* fix: treeshaking
* refactor: DatasetController.datasetElementType and DatasetController.dataElementType as static props
2022-08-04 09:17:40 -04:00
Jukka Kurkela
7a13906114 Fix options update when changing to shared opts (#10451) 2022-06-29 16:44:51 +03:00
Evert Timberg
d3a9bf375c Allow individual chart controllers to opt-in to the decimation plugin (#10182)
* Allow individual chart controllers to opt-in to the decimation plugin

* Code review feedback
2022-02-21 08:33:33 -05:00
Jacco van den Berg
6d3a1c5fa6 Feature/active elements on top (#9920)
* add flag to draw active items on top

* add documentation and types

* remove redundent check

* added test

* resolve linting errors

* increase tollerance

* remove axes for better test, hope no tolerance needed
2021-12-05 08:56:53 -05:00
Jukka Kurkela
838d40b2c8 Synchronize data visibility with data changes (#9857)
* Synchronize data visibility with data changes

* avoid babel spread bug

* Simpler?

* one more

* simple enough, cc?
2021-11-18 00:13:31 +02:00
Jukka Kurkela
0dc733a96c Configure all datasets before updating any (#9872)
* Update misleading sample comment

* Configure all datasets before updating any
2021-11-18 00:09:25 +02:00
Jukka Kurkela
6a250de81d Add chart, p0.raw, p1.raw to segment context (#9761)
* Add chart, p0.raw, p1.raw to segment context

* Types
2021-10-15 15:56:29 -04:00
Jukka Kurkela
9a47395010 Fix controller.getMinMax for stacked charts (#9766) 2021-10-14 00:24:38 +03:00
Evert Timberg
8e68481ec4 Remove const me = this pattern (#9646) 2021-09-14 07:37:22 -04:00
Shubham Aggarwal
4af9851584 Ensure that controllers derived from the bar controller work correct in stacked charts (#9587)
* change parameter of functions
* argument and parameter change in DatasetController.js
* changing variable name to proper convention
* Update controller.bar.js
2021-09-04 13:43:34 -04:00
Evert Timberg
7835973eb0 Keep track of parsed array changes when parsing===false (#9525)
* Keep track of parsed array changes when parsing===false

* Code review feedback
2021-08-14 09:07:58 -04:00
Jukka Kurkela
cf951ac611 Add ability to hide specific data element (#9450) 2021-07-21 07:08:02 -04:00
Jukka Kurkela
0094a58ef1 Properly update stacks when datasets index changes (#9425) 2021-07-16 07:15:54 -04:00
Jukka Kurkela
4002694e26 Fix: Don't use clip/unclipArea when clip: false (#9286) 2021-06-18 14:11:33 -04:00
Jukka Kurkela
4ac38d033e Make sure data is parsed before updateElements (#9187)
* Make sure data is parsed before updateElements
* Add test
2021-05-30 14:51:11 -04:00
Jukka Kurkela
188da82206 Fix clearStacks with custom scaleId (#9170) 2021-05-28 07:36:59 +03:00
Jukka Kurkela
749d1fc942 Fix animations when data is replaced (#9120) 2021-05-18 19:24:35 -04:00
Jukka Kurkela
d1a243efec Delay data to elements synchronization to update (#9105) 2021-05-15 08:22:15 -04:00
Jukka Kurkela
fbff165942 Make sure context indices are up to date (#9101) 2021-05-14 17:16:22 -04:00
Evert Timberg
b92f9e52fd Only enable the bar borderRadius at the end of the stacks (#8941)
* Only enable the bar borderRadius at the end of the stacks
* Float bars always get borders enabled
* Tests
* Update documentation
2021-04-18 16:30:54 -04:00
Prateek R Patil
c107f895aa Fix for allowing parsing:false with stacks (#8934)
* Initial fix for allowing parsing:false with stacks

* Added test from #8935 as requested.

Co-authored-by: tinfoilpancakes <tfm357@gmail.com>
2021-04-18 07:28:56 -04:00
Jukka Kurkela
1451e5aee6 Add ability to stack different dataset types (#8797) 2021-04-03 09:23:35 -04:00
Jukka Kurkela
bc2c92e65c Ensure scriptable context reflects updated data (#8765) 2021-04-01 07:17:02 -04:00
Jukka Kurkela
aae8a06c37 Update context documentation (#8626) 2021-03-13 08:05:57 -05:00
Jukka Kurkela
b98974f5b2 Fix some animation issues (#8616)
* Fix some animation issues

* Stop animating shared options on reset

* cc
2021-03-11 18:06:55 -05:00
Jukka Kurkela
1e296ccf4c Clear stacks when data is replaced (#8617) 2021-03-11 16:20:07 -05:00
Jukka Kurkela
160534f913 Add 'single' mode for stacking (#8586)
* Add `'single'` mode for stacking

* Update fixture
2021-03-07 10:52:31 -05:00
Ben McCann
3214005322 Fix normalize when null values at edge of dataset (#8547)
* Fix normalize when null values at edge of dataset

* Fix test with mismatched number of points
2021-03-01 15:06:48 -05:00
Ben McCann
7c75310a0c Use null for skipped values instead of NaN (#8510)
* Use null for skipped values instead of NaN

* Document skipped values when parsing is false

* Update src/core/core.datasetController.js

Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>

* Update src/core/core.datasetController.js

Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>

* fix lint issue

* use isFinite

* revert change checking for pixel values

* ternary readability

* revert accidental paren movement

* test with parsing: false

Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>
2021-02-24 18:20:11 -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
a73a8c4a5e Fix couple of animation bugs (#8439) 2021-02-16 16:42:07 -05:00
Jukka Kurkela
b77f2585b1 perf: resolver caching (#8435)
* perf: resolver caching

* Fix plugin caching

* resetCache

* Reduce duplication, cache only by keys cached

* Reduce lines

* reduce more lines

* Double plural, noop-caching of chart level options
2021-02-16 15:43:11 +02: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
422d26d32a Optimize context object construction (#8413)
* perf: context construction
* avoid setPrototypeOf
2021-02-14 10:34:49 -05:00
Jukka Kurkela
ddfbcf777a Update eslint-config-chartjs to v0.3.0 (#8406) 2021-02-10 08:21:39 -05:00
Jukka Kurkela
505afa7f13 Fix element creation for large dataset (#8388)
* Fix element creation for large dataset
* Fix syncing
* Remove duplication
2021-02-05 17:53:05 -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
Jukka Kurkela
4491732ad5 Prevent 2nd parse call with zero count (#8379) 2021-02-04 16:59:57 -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
LeeLenaleee
aa9a04a014 Skip delete undefined stack (#8291)
* fixes error on undefined stacks
* added test for functionality
2021-01-09 10:27:18 -05:00
Jukka Kurkela
c2091fc77d Skip reset when animations are disabled (#8248)
* Skip reset when animations are disabled
* Review update
2020-12-29 10:10:32 -05:00
Jukka Kurkela
12682c619d Always freeze cached options (#8247) 2020-12-29 08:45:07 -05:00
Evert Timberg
7415517c83 Cache data limits to ensure they are only computed once per update (#8234)
* Cache data limits to ensure they are only computed once per updaet
* Replace `invalidateCaches` on scales with `beforeLayout`
2020-12-26 14:37:23 -05:00
Jukka Kurkela
e3ad31893d Restore datasets namespace (revert 6955) (#8090) 2020-11-24 22:27:51 +02:00
Jukka Kurkela
d74a5d7552 Add type to context objects (#8007) 2020-11-08 08:43:55 -05:00
Jukka Kurkela
10ffe753d9 When data is removed, remove from stacks too (#8013)
* When data is removed, remove from stacks too
* Remove unreferenced metasets
2020-11-06 08:05:56 -05:00
Evert Timberg
0476243539 Remove draft features (#7996) 2020-11-03 08:15:56 -05:00