* Refactor get...Items functions to take events rather than positions
To work toward exposing something like the get...Items functions.
* Switch getAxisItems to use optimizedEvaluateItems
optimizedEvaluateItems falls back to evaluating all items for unsorted items, and sorting / optimizing ought to be okay, so this ought to be equivalent.
* Performance
* Consolidate getRelativePosition
helpers.dom.js's getRelativePosition already had logic to handle ChartEvent vs. Event (as demonstrated by the `native` check within `getCanvasPosition`), so it's redundant for core.interaction.js to have its own `native` check.
Update `getRelativePosition` to use the same `native` check as core.interaction.js's version. As best as I can tell, the ChartEvent's x and y are populated from `getRelativePosition`, so the previous `getCanvasPosition` was effectively just duplicating `getRelativePosition'`s work. I added a test to verify this; it depends on a local, not-yet-submitted change in chartjs-test-utils' `triggerMouseEvent` to return the mouse event that it triggers.
* Add an API to refactor duplicate isPointInArea
* Rename and update JSDoc to prepare for making this public
* Give functions a consistent, generic interface
* Export functions for discussion
* Code review feedback
Add a non-null assertion, as requested in code review.
Add JSDoc to clarify that `getCanvasPosition` now expects a native `Event`, not a `ChartEvent`. Add `@ts-ignore`; `getCanvasPosition` relied on some loose conversions between `Event`, `TouchEvent`, and `Touch` that would require several changes to make TypeScript happy.
* Code review feedback
Return the event directly, to speed up the code a bit. Add JSDoc to help communicate its intent. Update various comments.
* Finalize exports; add docs and TypeScript
* Update src/helpers/helpers.dom.js
* Update src/helpers/helpers.dom.js
Only thing needed actually is the update of chartjs-test-utils to 0.4.0
* Bump chartjs-test-utils dependency
To get supporting work from https://github.com/chartjs/chartjs-test-utils/pull/19
Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>
The controller.bar/not-grouped/on-time test was failing on my computer because the date ranges happen to cross the end of Daylight Saving Time in the U.S., so chart was generated with one more hour of time than the test fixture expected.
Using moment-timezone to specify a fixed time zone with no DST seemed like the most robust fix. (Alternatively, I could pick a date range that doesn't change DST; that ought to work.)
* Generate API docs with vuepress-plugin-typedoc
* Links, fixes, cleanup
* Convert bar samples to Vuepress
* Some line chart samples moved over
* Fix lint issues
* Derived axis type sample
* LineAreaStacked chart created in vuepress
* added radar area axample
* Line dataset added sample
* final area example added
* Add derived-chart-type
* Bar scriptable sample
* Scriptable samples
* Clean lint errors
* added linear axis samples to vuepress
* change tab to spaces to fix lint error
* Convert the rest of the scale samples
* Scale option samples
* Fix typo
* Fixes
* Legend samples
* Title samples
* Change the title of the tip block to Note (#8758)
* Convert bar samples to Vuepress
* Some line chart samples moved over
* Fix lint issues
* Derived axis type sample
* LineAreaStacked chart created in vuepress
* added radar area axample
* Line dataset added sample
* final area example added
* Add derived-chart-type
* Bar scriptable sample
* Scriptable samples
* Clean lint errors
* added linear axis samples to vuepress
* change tab to spaces to fix lint error
* Convert the rest of the scale samples
* Scale option samples
* Fix typo
* Fixes
* Legend samples
* Advanced samples
* Remove extra section
* Animation samples
* Hide legend from progressive line
* Add a comment on what `from` does
* Tooltip samples
* Ädd other charts to vuepress samples
* enable plugin again since all samples have been converted
* fix skip radar example, middle skip was not calculated correctly
* lint error
* Progressive-line: add 2nd line
* Fix lint errors
Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>
Co-authored-by: Jacco van den Berg <jaccoberg2281@gmail.com>
Co-authored-by: Jacco van den Berg <39033624+LeeLenaleee@users.noreply.github.com>
* Initial work
* Update doc commands
* Updated sidebar config
* Move docs
* Update theme version and enable
* Convert to chart.js sample
* Update scripts to point to local build
* Chart.js from local build
* Simplify getting-started example
* Axis docs updated except for imported content
* Common ticks import works
* Chart type docs ported to editor plugin
* Last pages to use editor
* Fix small errors
* Frontmatter title to heading
* Remove duplicate example
* Update sidebar
* Add paths
* Remove paths
* Add getting-started back
* Update menus and add copyright to license section of the docs
* Add GA plugin
* Style sub-groups
* Remove unneeded license page since it is covered on the main page
* Remove docusaurus readme page
* Remove docusaurus files
* Fix issues in docs
* Build and deploy scripts for docs work
* Conditional base URL for nice local testing
* Use eslint-plugin-markdown
* Remove hard coded lines
* Remove mentions of docusaurus
Co-authored-by: Jukka Kurkela <jukka.kurkela@gmail.com>