Skip to content

dubaua/chartapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • Check shadow DOM and templates
  • chart can be template
  • switch can be template
  • move
  • check chart width with chart ragne width
  • bind listeners once, set flag is adjusting
  • zoom
  • deal with symbol id
  • scale zoom Y to fit
  • preview shows from min to max
  • lens shows from 0 to max
  • path animations
  • restrain max zoom
  • show detailed: Insert each chart in element. Listen to mutation observer on this element and callback on insert.

Features

  • Legends Y
  • Legends X
  • themes switching below all charts. handle chart colors with rgb function
  • detailed line
  • detailed dots
  • detailed tooltip
  • debounce legends animation

Animations

  • Legend Y
  • Legend X

Optimizing

  • optimize change range redrawing with requestAnimationFrame
  • move auxiliary data from options keys to variables for better minification
  • reduce y key size
  • calculate range with left + width, not left..right
  • optimize redrawing checking is delta changed
  • fetch data asynchronously
  • optimize scaling chartX
  • optimize scaling legendX with throttle
  • minimize js
  • minimize ref keys

CSS

  • adopt for small screens
  • hide overflow y
  • try variables
  • !optimize css

Bugs

  • dragging left-right fast causing expanging range
  • order of charts and dots: [chart, dot, pin]
  • Firefox can't proper calc variable
  • Firefox can't vector-effect non-scaling-stroke
  • Firefox transformY distorts chart
  • Safari doesn't support transform origin, while transform is set as svg attribute
  • Show lens only on hover
  • Tooltip lags when moving backwards
  • Firefox wrong tooltip positioning
  • make separate group for each transform
  • restore default on touchmove and remove user select globally

Canvas

  • try canvas if time isn't over