Commit Graph

14 Commits

Author SHA1 Message Date
David Kaltschmidt
96aae9bc99 Migrate from Flux to Redux
* better state visibility
* pure state changes
* state debug panel (show: crtl-h, move: ctrl-w)
2016-04-27 17:21:46 +02:00
Simon Howe
c46bacab1b Improve highlighting performance.
- Untangle edge dependencies so we don't redraw them all if a node is
  highlighted.
- Only "preparePoints" if they've changed.
2016-04-06 21:50:27 +02:00
David Kaltschmidt
d520cffec7 Performance tweaks
Add debug.html to show toolbar

Perfjankie test runner

Playing w/ the pure mixin for perf. improvements

* Works well! Smoother zooming/panning when things have settled.
* Extract node movement to node-container, make nodes pure

Extracted node chart elements into own components

Keep control objects immutable while in components

Keep layout state objects alive

Made other components pure, removed mixin from stateless components

Remove font size adjustment from scaling

Fix zoomscale

Move node transform to node

* makes more sense there because the coords are rounded in the container

dynamic coords precision based on topology size

Make edge points immutable

Remove nodes maximum for layout engine

Dont send all canvas state down to next component

moving layout handling back to nodes-chart.js

Omit some props for edges/nodes, dont animate edges on low precision

Moved AppStore access out of lower components
2016-04-05 15:45:13 +02:00
David Kaltschmidt
c517a6cf5d Downgrade react-motion
* caused lots of lag when dev tools were open
2016-03-17 18:11:53 +01:00
David Kaltschmidt
e4270f69b7 Upgraded dev deps and linted JS according to latest airbnb rules 2016-03-15 18:09:45 +01:00
David Kaltschmidt
658a38f40a Upgrade npm app dependencies 2016-03-15 13:45:57 +01:00
Simon Howe
b2774ed981 Fixes scope from crashing with "long" edges.
Long edges are those w/ a lot of points on them. Which can pop up in
heavily connected layouts.
2016-01-18 18:06:02 +01:00
David Kaltschmidt
6b445466ef Move JS to ES2015
Refactored mixins into utils

ES2015 module exports

ES2015-style imports

WIP Fixing tests

Fixes tests after es2015 code migrations.

We we're require()ing an ES2015 module[1]. Have to make sure you account
for the .default in this case.

[1] We had to use ES5 `require` in Jest:
(https://github.com/babel/babel-jest/issues/16)
2015-12-01 14:35:22 +01:00
David Kaltschmidt
acbf8a665d Upgrade eslint, react and react-motion
* get rid of material-ui
* reduced bundle size by 20%
2015-11-11 15:51:27 +01:00
David Kaltschmidt
2c554fe273 blur nodes that not selected nor adjacent 2015-09-09 18:12:02 +02:00
David Kaltschmidt
8dbb13a972 slow animation down a bit 2015-09-08 14:00:52 +02:00
David Kaltschmidt
c0b0e5f807 animate edges via react-motion
edges can have different point counts between updates, that throws
Spring off, therefor I'm making sure the number of points is always 10.
If anyone can find out how many points dagre maximally puts, please
change this (my guess is max. 4).
2015-09-08 13:23:46 +02:00
David Kaltschmidt
4584bed4b7 WIP use react-motion to animate edges 2015-09-08 13:23:46 +02:00
David Kaltschmidt
9c3db34d49 highlight edges and connected nodes on edge hover 2015-05-29 18:00:35 +02:00