Commit Graph

11 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
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
88abeb7168 Topology filter overhaul, still needs backend support 2016-03-29 13:26:49 +02: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
3f8a26d551 Make app-store's topologies object immutable
* refactoring, functionality should be the same
* adapted tests
2016-03-15 10:02:05 +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
9d5b9172fa Fix react key warning 2015-11-16 15:39:41 +01:00
David Kaltschmidt
95b2c4f829 Take default topology option if missing in URL 2015-11-13 17:45:01 +01:00
David Kaltschmidt
2d7e546ae5 Render filtered node count in status bar
* always set updated topology object when received
* track whether route was set on initial load
* removed connection count from status bar (was not deemed important)
* fixed issue where topology option changes did not affect details pane
* only show filtered nodes when count > 0
* clear nodes graph when empty topology is loaded
* also prevent JS error if nodes are hovered over that should be gone
* fixed options sync issue between graph and status bar
* implemented topology options with immutable DS
2015-09-29 08:51:56 +00:00
David Kaltschmidt
8483492eb7 New sidebar in the bottom left
* status bar (fixes #207)
* moved topology options to sidebar
* render topology option like snackbar
* upgrade material-ui to 0.11
2015-09-15 15:03:18 +02:00
David Kaltschmidt
27caf0af41 Add dropdown field for topology options, save topology option in url state
- fix nodes reset after topology option change
- set topology on click
- explicitly set default topology options
- set default topo options when topos are received
- prevent JS error on too many nodes layout abort
2015-09-07 14:25:49 +00:00