Commit Graph

158 Commits

Author SHA1 Message Date
David Kaltschmidt
c37c175dd6 Network colors from a scale
* all colors are unique and separated enough
* only 10 colors are available
* contains red and green
2016-06-16 11:46:42 +02:00
Simon Howe
570124fbe0 Netview review feedback 2016-06-06 16:24:18 +02:00
David Kaltschmidt
b1cd16d92d Fix node blurring for network hover
Fixes edge focus/blurring when selecting networks

Configurable arc size

net-view variant: Smaller arc (just the top)

net-view revision: Add white container around arcs.

To join them together in a sense. Trying to avoid the edge/arc position
association. Not sure if this really helps

net-view variations: shadows.

bg fill, align network rotation w/ rank.

Cute little dots

Stacked lines

Rounded rects

Slightly thicker "pills" to repr networks

Handle edge case by making line longer

Fix network bar offset
2016-06-06 16:24:09 +02:00
Simon Howe
6b4b07d0bc Copy paste of MoC controls as initial networks-view legend
Needs a bit of de-dup / customization

oops, bad typo

More fleshing out the structure for network-view

onHover netview-legend: highlight relevant nodes.

And the bool rolls on.

Handle nodes w/ no networks better

Corrects deselect-node when used w/ new network-view behaviour

Net view details "node" can be open when with no nodes selected. Hitting
"esc" from:
 - card 0: network-a
 - card 1: node-a
was not deselecting node-a

Deselect selectedNetwork correctly onEsc

Ooops, trailing ws breaks linting.

Adds NodeNetworksOverlay stub

Expands on NodeNetworksOverlay stub and adds arcs and colors

Expand and collapse networks legend

Open arc for network circle, shift for stack

Show our base hue range in the debug bar too..

Was trying to smooth out our hue selector but turned out to be tricky..

Uniquify random data generator!
2016-06-06 16:23:44 +02:00
Simon Howe
da67ba05f8 Adds node.networks to the debug toolbar nodes 2016-06-06 16:20:25 +02:00
David Kaltschmidt
b51e7a95c5 Fix edge hiding
Fixes #1471
2016-05-11 18:08:59 +02:00
Simon Howe
0a46d6128c Fixes node-position layout caching.
Key was not being generated correctly.
2016-05-11 18:08:59 +02:00
Simon Howe
af3f18b933 Don't draw svg labels when we don't need them.
Having the DOM nodes w/ display:none is still expensive. We only need
them briefly for svg export.
2016-05-11 18:08:59 +02:00
David Kaltschmidt
9984777a5b Show connected nodes on hover, even when not matched 2016-05-11 18:08:59 +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
d1609658bf Apply search as filter 2016-05-11 18:08:59 +02:00
David Kaltschmidt
3ee802a516 Search all fields by default, gray out nodes if no match 2016-05-11 18:08:59 +02:00
David Kaltschmidt
5a325e46fa Search on canvas
* adds a search field next to the topologies
* highlight results on canvas as you type
* non-matching nodes are grayed out
* "prefix:" limits search to field label
2016-05-11 18:08:59 +02:00
David Kaltschmidt
eed779abfa Replaced pure-render-mixin with redux connect
* does the same shallowEqual optimization
2016-04-28 20:20:58 +02:00
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
9cf3d671bb Extract only coordinates from layout runs
* keeps node metadata intact
* fix for issue introduced in 5cedfad

Fixes #1304
2016-04-21 09:18:46 +02:00
Paul Bellamy
5cedfad29a Merge pull request #1332 from weaveworks/1091-docker-rename
Support docker rename events
2016-04-20 09:45:40 +01:00
Simon Howe
81334cdbd8 Fixes up node (de)selection after bad attempt to fix stale metadata 2016-04-20 10:05:17 +02:00
Simon Howe
415ac7c5db Update node label as well as metrics if they change! 2016-04-19 17:14:17 +02:00
Simon Howe
a32bd7a54b Removes the metrics-feeder to keep things in sync.
Another temp fix.
2016-04-18 15:46:37 +02:00
David Kaltschmidt
4810bbc572 Fix panning isolation
* panning values were reused on when visiting a topology for the first
  time

Fixes #1238
2016-04-18 14:23:10 +01:00
David Kaltschmidt
af887418b9 Dont scale nodes after browser window resize
* track browser dimensions as chart state
* only override on force layout

Fixes #1096
2016-04-12 16:33:43 +02:00
Simon
77aa1ed501 Merge pull request #1264 from weaveworks/1263-untruncate-only-hovered
Untruncate only the hovered node's text, not its adjacents.
2016-04-12 12:46:02 +02:00
Simon Howe
dcfb7f0c2c Fixes flickering when mouse moves between nodes labels
w/ a secret rect!
2016-04-12 12:45:09 +02:00
Simon Howe
fd193d7edd Untruncate only the hovered node's text, not its adjacents. 2016-04-12 10:28:16 +02:00
David
f3c9ff2ce4 Merge pull request #1262 from weaveworks/1242-fix-layoutnodes
Keep edge and node movement in sync
2016-04-12 09:35:14 +02:00
David Kaltschmidt
34e9e9d85d Keep edge and node movement in sync
Fixes regression introduced by #1186 (comparing wrong layout state
objects)

Fixes #1242
2016-04-11 20:22:18 +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
Simon
689e06b216 Merge pull request #1259 from weaveworks/1244-focused-node-size
Don't enlarge focused nodes.
2016-04-11 15:34:32 +02:00
Simon Howe
6754c03980 Selected-node-size review feedback
- Tighten up method definition
2016-04-11 15:33:23 +02:00
David
c9a44f30fd Merge pull request #1255 from weaveworks/no-truncate-on-hover
Dont trunctate node labels on hover
2016-04-11 15:16:57 +02:00
Simon Howe
b9ce725561 Don't enlarge focused nodes.
- Calculate size based on number of nodes that come up into the
  selection area.
2016-04-11 15:11:03 +02:00
David Kaltschmidt
c5ea970674 Dont trunctate node labels on hover
* makes it easier to read long node labels on demand
2016-04-11 11:59:04 +02:00
David Kaltschmidt
5ae87a039b Make cached edge processing more robust 2016-04-11 11:41:39 +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
392589744c Fix zooming regression
Introduced in #1186

Fixes #1233
2016-04-06 15:23:13 +02:00
Simon Howe
4c378283cb Pure-mixin-ify more stuff.
Helps a lot for dragging around the canvas.
2016-04-06 12:44:24 +02:00
David Kaltschmidt
0a1740cbe6 Fix metrics rebase 2016-04-05 18:15:28 +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
Simon Howe
4ec8b97fef metrics-on-canvas review feedback updates.
- Refactor some things.
- Fixes heptagon moc rendering
- Experiment w/ duller colors.
2016-04-04 21:02:30 +02:00
Simon Howe
4a840c2d2b Tidy up code, remove small comment 2016-04-04 17:48:45 +02:00
Simon Howe
432ea920fe Terminology change from lock -> pin
In meetings etc the term pin is more often used.
2016-04-04 17:48:44 +02:00
Simon Howe
9d968a789b Tidying up MoC
- no rand ids, org code
- Fixes tests, no .includes in jest for now
- Small comment on moc stuff
- Patch up differences after MoC rebase
2016-04-04 17:48:44 +02:00
Simon Howe
3fdd7809f7 Fixes a couple of MoC visual bugs
- Fixes metric font-size on selected nodes
- Round metric-height value to be the same as rounded displayed value.
- No red/green colors in the MoC! They have to much association w/ success/failure
2016-04-04 17:48:44 +02:00
Simon Howe
1ad7c2c7a3 Return to mock-metrics for now.
- Bring MoC under new linting rules
- adds support for immutable-console-renderer
- fixes up metrics actually displaying after bad fixes when rebasing.
- Mock all metrics client side for demoing
2016-04-04 17:48:43 +02:00
Simon Howe
31ee76a1d9 Key binding to clear metrics "q"
Going w/ the `top` key mappings, needs discussion.
2016-04-04 17:48:43 +02:00
Simon Howe
13a625a2b3 Fade out rank border color for more emphesis on metric
- Fade out rank color opacity when showing metric
2016-04-04 17:48:42 +02:00
Simon Howe
439b3aaed8 Different metrics get different fill colors 2016-04-04 17:48:42 +02:00
Simon Howe
0df2a2bce4 Metric fill color based on node color 2016-04-04 17:48:42 +02:00
Simon Howe
0f21c1b5e7 Play w/ metric on canvas color and fix nested radius in squircles
- Remove node's grey-inner-border when showing metrics
2016-04-04 17:48:41 +02:00