Commit Graph

39 Commits

Author SHA1 Message Date
Evert Timberg
8e68481ec4 Remove const me = this pattern (#9646) 2021-09-14 07:37:22 -04:00
Jukka Kurkela
9e70913bed Enable event filtering per plugin (#8876) 2021-04-10 15:18:30 -04:00
Jukka Kurkela
78d3d30d56 Add _allKeys descriptor for Object.keys behavior (#8553) 2021-03-01 16:44:14 -05:00
Jukka Kurkela
4c960fb138 Plugin options default scriptable/indexable=false (#8497)
* Plugin options default scriptable/indexable=false

* Update test

* Inherti desciptors

* Remove unreachable code

* remove unintentional change

* remove double default
2021-02-23 17:54:42 +02: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
ddfbcf777a Update eslint-config-chartjs to v0.3.0 (#8406) 2021-02-10 08:21:39 -05:00
Ben McCann
00dbe71dbb Revert "Update spelling of cancellable (#8236)" (#8312)
This reverts commit e6dfc47927.
2021-01-16 21:14:15 +02:00
Ben McCann
e6dfc47927 Update spelling of cancellable (#8236) 2020-12-28 10:20:55 +02:00
Evert Timberg
93c3467182 Prevent double plugin registers from losing the list of plugins (#8162)
When `Chart.register()` was called twice in a row, the list of
plugin descriptors on the chart instance would be cleared. The
next chart update would then restart all of the plugins, not
knowing that they were already started. In the case of the Legend
and Title, this causes two boxes to appear in the layout system
thus drawing twice.
2020-12-14 12:03:08 +02:00
Jukka Kurkela
c1aeba1e67 Add new scale hooks for plugins (#8112)
* Add new scale hooks for plugins

* Add notes

* cc

* cancelability
2020-12-02 06:51:47 +02:00
Jukka Kurkela
78dbeea1f0 Add new hooks for plugins (#8103)
* Notify beforeUpdate on disabled plugins

cc?

cc2

cc3

typo

* init, unInit, enabled, disabled

self review :)

update the new hook signatures to unified

merge error

* Review update

* start/stop, cc

* types, jsdoc

* stop between destroy and uninstall
2020-11-28 22:57:45 +02:00
Jukka Kurkela
61aea761f4 Unify signature of plugin hooks (#8102) 2020-11-28 09:45:43 +02:00
Jukka Kurkela
021561072b Disable all plugins when options.plugins = false (#8098)
Disabling all plugins when options.plugins = false
2020-11-23 17:58:03 -05:00
Evert Timberg
17f6edb650 Remove I prefix from TS types (#8017)
* Remove I prefix from TS types
* Update missing `ILayoutItem` typedefs
* IEvent should become ChartEvent
* Prevent FillTarget collision
* Import FontSpec instead of IFontSpec
* Prevent recursive DateAdapter problem
2020-11-07 08:35:19 -05:00
Jukka Kurkela
6dbb7e7446 Move config handling to a dedicated script (#7939)
* Split core.config.js out of core.controller.js

* Remove side effects from config.js

* Turn config into a class

* Refactor config merging as includeDefaults
2020-10-24 18:37:37 +03:00
Jukka Kurkela
58d1911d05 Add args.mode to before/after update plugin hooks (#7949) 2020-10-24 18:36:31 +03:00
paul cheung
7ce9710f33 fix some typos (#7914) 2020-10-18 16:52:56 +03:00
Jukka Kurkela
c749fbdf5f Fix the parameter order of before/afterEvent (#7757) 2020-09-04 16:47:08 -04:00
Jukka Kurkela
7024aad38f PluginService using registry (#7590)
PluginService using registry
2020-07-11 18:08:45 -04:00
Tim Gates
8f7cdf1827 docs: Fix simple typo, layed -> laid (#7263)
There is a small typo in src/core/core.layouts.js, src/core/core.plugins.js.

Should read `laid` rather than `layed`.
2020-04-09 20:46:41 -04: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
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
Ben McCann
e2145e3b55 Turn on excludeNotExported (#7121) 2020-02-20 12:18:21 -05:00
Jukka Kurkela
25a9969489 Enable esnext and fix all lint errors (#7094)
* enable esnext and fix all lint errors

* Review update

* Missed some

* Some cleanup still

* Remove leftover eslint disable
2020-02-13 18:41:49 -05:00
Ben McCann
7609385544 Cleanup some Typescript comments (#7088) 2020-02-12 08:03:23 -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
25002f2763 Defaults as ES6 class (#7074)
* Defaults as ES6 class

* Review comments
2020-02-09 08:52:18 -05:00
Jukka Kurkela
f5655c511e PluginService as ES6 class (#7075)
* PluginService as ES6 class
* Review update
2020-02-08 18:06:49 -05:00
Ben McCann
795c86e95b Fix errors reported by TypeScript compiler (#7030) 2020-02-07 18:03:33 -05:00
Ben McCann
f9cd9fdf76 JSDoc and other cleanup (#7057) 2020-02-05 08:27:02 -05:00
Ben McCann
fe3931b077 Reduce scope of imports (#7000) 2020-01-22 07:19:44 -05:00
Evert Timberg
5aaff3a1aa Convert Tooltip to a plugin (#6990)
* Convert Tooltip to a plugin
* code review feedback
* Update docs. Convert positioners map to be on the plugin directly
2020-01-21 06:36:53 -05:00
Ben McCann
c6c4a52257 Switch most requires to imports (#6935) 2020-01-09 07:23:53 -05:00
Jukka Kurkela
f4792306e0 Remove global from defaults (#6893) 2020-01-03 14:07:38 -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
2f874fde62 Use lowercase for primitives in jsdocs (#6033) 2019-02-11 08:51:39 +01:00
Simon Brunel
2d7f0a46c3 Fix updating plugin options (#5144)
Cached plugin descriptors hold a reference on the plugin options, which break if the plugin options object is replaced. That case happens when the user updates the plugin options with a new object, but also since the new config update logic (#4198) that now always clones the plugin options. The fix consists in explicitly invalidating that cache before updating the chart.
2018-01-13 08:23:50 -05: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