* 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
See #7678 and #8149. (The `silent` parameter mentioned in the original 7678 no longer exists.)
Add JSDoc.
Fix some minor issues with grammar and coding style consistency.
* 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
Provide APIs to set active (hovered) and tooltip elements.
Chart.setActiveElements will set the hovered items.
Chart.tooltip.setActiveElements will set the tooltip items.
* 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
* Created a better error message when chartjs can't find an element in the DOM.
Also, prevented an exception when trying to find the canvas assuming is an array. When it could also be null.
* Exception is not thrown anymore in getCanvas. Now this pr only prevents the
item.lenght exception and logs a better error when a chart cant be created.
* Deleted error description because i forgot chartjs is used in varois other ways than importing, also used isArray from helpers.core
* isArray check deleted because the type of the dom element received in getCanvas could be not only an array.
Co-authored-by: Lautaro Alonso Urtiaga <lautaro.urtiaga@10pines.com>