Commit Graph

54 Commits

Author SHA1 Message Date
Roland Schilter
00ddb51685 Fix Pods number in graph not updating (minor label) (#2728)
By only caching layout values (x, y, rank)

Fixes #2401.
2017-07-21 16:34:36 +02:00
Filip Barl
8f22d58cab Last line of defense against overlapping nodes in graph layout (#2688)
* Refresh the layout once more at the end if previous heuristics cause an overlap.

* Added mixpanel tracking.
2017-07-07 19:22:04 +02:00
Filip Barl
6d270fe78b Fix arrow heads positioning (#2505)
* Fix arrow heads positioning.

* Addressed @foot's comment.

* Beautified the code and added some comments.
2017-05-12 10:39:22 +02:00
Filip Barl
2a54085c62 Node transformations done from NodeContainer. Put node searching logic in selectors. 2017-02-20 10:58:26 +01:00
Filip Barl
c9ff15f7f3 Re-applied PR #2128 'Graph layout optimizations' 2017-02-03 16:59:25 +01:00
Filip Barl
8eaa12e680 Revert "Graph layout optimizations" 2017-02-02 11:42:12 +01:00
Filip Barl
632e3756c4 Optimized rendering of graph layout and zooming events 2017-02-01 16:27:23 +01:00
Filip Barl
26b3e9efc9 Reapplied all the eslint upgrade changes 2016-12-15 15:04:53 +01:00
David
99bfab89b7 Revert "Upgraded eslint & eslint-config-airbnb" 2016-12-12 16:06:13 +01:00
Filip Barl
776b4d72eb Applied no-mixed-operators linting rule 2016-12-12 11:03:16 +01:00
Filip Barl
3fdcd9b5e7 Applied arrow-parens linting rule 2016-12-12 11:02:18 +01:00
fbarl
e47c3e0973 Applied a couple of simpler rules 2016-12-12 10:56:56 +01:00
Simon Howe
79a9598d0f Change spelling for eslint 2016-11-24 17:07:12 +01:00
David Kaltschmidt
aa7b85b5f0 Use feature flags in nodes-layout 2016-11-24 17:07:12 +01:00
David Kaltschmidt
d131e99039 Simplified layout steps for singles and same-ranks 2016-11-24 17:06:04 +01:00
David Kaltschmidt
90c7659526 Dont relayout for new unconnected nodes 2016-11-24 17:06:04 +01:00
David Kaltschmidt
ee61ff7143 Test and debugbar tools to simulate single nodes appearing 2016-11-24 17:06:04 +01:00
Matthias Radestock
d6d5fec960 reduce horizontal gap between nodes in topology views
Fixes #1688
2016-07-17 18:50:12 +01:00
Simon Howe
570124fbe0 Netview review feedback 2016-06-06 16:24:18 +02:00
David Kaltschmidt
749571ebe9 Review feedback
* Fix node-details-test for search
* Label spacing and matched text truncation
* Delete pinned search on backspace, add hint for metrics, escape % in URL
* Fix text-bg on node highlight
* Added tests for search-utils
* Fix matching of other topologies, added comment re quick clear
* s/cx/classnames/
* Ignore MoC keys when search in focus, blur on Esc
* Fixes search term highlighting on-hover
* Fix SVG exports
* Fine-tuned search item rendering
* Fixed search highlighting in the details panel
* Dont throb node on hover
* Hotkey for search: '/'
* Keep focus on search when tabbing away from the browser
* bring hovered node to top
* background for search results on hover
* fixed height for foreign object to prevent layout glitches
* Dont blur focused nodes on search
* More robust metric matchers
* More meaningful search hints
2016-05-11 18:08:59 +02:00
David Kaltschmidt
cd12d867ec Cache pan/zoom per topology
* remembers canvas position/zoom per topology
* makes it easy to go back to the last position in a prev topology

Fixes #1238
2016-04-11 18:51:39 +02:00
David Kaltschmidt
5ae87a039b Make cached edge processing more robust 2016-04-11 11:41:39 +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
9dafaef9a9 Force-relayout button
* new button in footer
* when clicked, forces a relayout that could help with degraded graphs
* sets a store flag that will be unset on next nodes delta update
* fixes #863
2016-02-24 15:55:36 +01:00
Simon Howe
3e73226ea7 Refactor some var names 2016-02-09 23:02:18 +07:00
Simon Howe
5237a43c2a Fixes process-by-name layout with ./foo and /foo nodes
lodash (used by dagre) was in effect mixing up these ids.
2016-02-09 22:47:09 +07: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
8eb4be8d4f Added tests for single nodes layout 2015-11-17 22:30:53 +01:00
David Kaltschmidt
8691b04d66 Separate single nodes to render them differently
* Layout single nodes next to/below graph
* fixes #375
2015-11-17 15:24:34 +01:00
David Kaltschmidt
59064e8a2d Upgrade to Babel 6 2015-11-11 18:42:48 +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
af175b62bc Review feedback 2015-11-05 11:02:18 +01:00
David Kaltschmidt
f7aad21016 Use edge points to determine changed endpoints 2015-11-05 11:00:31 +01:00
David Kaltschmidt
6cf93f8e17 Prevent dangling reused edge 2015-11-05 11:00:31 +01:00
David Kaltschmidt
1831e07224 Track trivial layout runs 2015-11-05 11:00:31 +01:00
David Kaltschmidt
413220db6b Fixed bug in unseen nodes detection 2015-11-05 11:00:31 +01:00
David Kaltschmidt
1fe036ab6a Simplified dance heuristics 2015-11-05 11:00:31 +01:00
David Kaltschmidt
83d7a87d43 dont relayout when node dissappears 2015-11-05 11:00:31 +01:00
David Kaltschmidt
47ba0ff2a4 Skip layout when only edges changed 2015-11-05 11:00:31 +01:00
David Kaltschmidt
7306e8fb5f Rewrote nodes-layout to use immutablejs 2015-11-05 11:00:31 +01:00
David Kaltschmidt
e4da515fa1 Refactored doLayout signature 2015-11-05 10:58:13 +01:00
David Kaltschmidt
808fc55832 filter loopback adjacents on radial layout
needed to adjust size of nodes, too
2015-09-18 18:08:35 +02:00
David Kaltschmidt
2c6c7f1995 Set beginning and end points to node coordinates
This is to ignore node bounding box which sometimes leads to
disconnected edges.
2015-09-10 15:17:46 +02:00
David Kaltschmidt
9c7dea8e2f cache render engines for consistent renderings
* one render engine per topology
* improves switching back and forth between topos
* might increase memory use
* roughly fixes #160
2015-08-24 18:19:14 +02:00
Tom Wilkie
91627f8cc3 Stop the rendered graph from dancing. 2015-08-24 18:19:14 +02:00
David Kaltschmidt
c87cc872ee clear nodes cache when websocket closes connection
* also show reconnection status

fixes #162
2015-06-15 18:10:02 +02:00