Commit Graph

112 Commits

Author SHA1 Message Date
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
a1d1b49aeb Addressed @jpellizzari's comment 2016-12-12 11:23:09 +01:00
Filip Barl
86d61cf0d6 Extracted 'static' methods outside of classes for the 'class-methods-use-this' lint rule 2016-12-12 11:04:15 +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
fbarl
524e2e2e9a Importing lodash util functions explicitly. 2016-12-09 14:03:31 +01:00
fbarl
34033ee46e Implemented round function as a replacement for d3.round
Removed d3 from vendors
2016-11-28 17:32:10 +01:00
fbarl
7442ff3f41 Switched to D3 version 4.4.0 2016-11-28 13:16:10 +01:00
jpellizzari
3b84149f38 Fixed details panel not closing on canvas click 2016-11-08 13:24:49 -08:00
Simon Howe
fc95e1efa0 Fixes selected layout!
(was the removal of :id from the node objects)

Only show errors in webpack output!

Tidying up

More tidying

more tidying

More fiddling around

wip

wip

wip

Fixes forceLayout

rm console.log
2016-09-15 11:55:25 +02:00
Simon Howe
a1b8e963dc nodes-chart only re-rendered on prop updates!!! 2016-09-15 11:55:25 +02:00
Simon Howe
4b7471b1b0 things working again, on the way to reselect! 2016-09-15 11:55:25 +02:00
Simon Howe
9ce399607a This works! Look into getting redux in there next 2016-09-15 11:55:24 +02:00
Simon Howe
cf6d703c18 Fixes metrics-on-canvas updating.
- We were being a bit overzealous w/ our layout caching.
2016-09-15 11:54:01 +02:00
Simon Howe
86101764b6 Tweak node/label-sizes to avoid overlap in certain layouts.
- Also permanently enables the label bg (previous was only on hover) to
  aid readibility w/ the (sometimes) smaller labels.
2016-08-17 16:03:47 +02:00
Simon Howe
5846222fe1 Scale node labels with the node's size.
- Within certain bounds. Still have min-label size, mainly effects nodes
  that get really big.
- Set a max size on nodes too, really big ones lose their border.
2016-08-09 14:57:13 +02:00
Simon Howe
3e4ec1dc61 Review feedback + fiddling w/ the columns widths a little more. 2016-08-03 08:53:07 +02:00
Simon Howe
a2810afaf1 Fixes grid -> topo transition.
- Also don't show table borders when no nodes.
- 't' toggles table mode on/off, rather than 't'/v'
2016-08-03 08:51:07 +02:00
Simon Howe
f83e0f1a48 Remove a lot of un-used code that I still want to keep 2016-08-03 08:51:06 +02:00
Simon Howe
d0b99969ea Grid-mode tuning!
- Change scrolling behaviour to lock headers in place
- Enable filtering (hitting enter in the search bar) in grid-mode
- Little more top-margin for k8s (can have 3 topos) + taller rows.
- Trying out rank-color + node.relatives in the grid-mode
- First pass at selecting rows.
  - Needs a bit more a fiddle, colors + click areas
- Store grid sort direction (asc/desc) in url state
- Simplify node selection to one method. (over-ride existing card)
  - Remove clicking on name directly (links) to overlay new cards for now.
- Playing w/ grid-mode-toggle icons and labels
- Improves rendering in ff, change of shortcut keys for grid-mode-toggle
- Playing w/ clearer selection colors for grid-mode
- Slight change to selection-ui
- Fixes showNodeInTopology button visibility on the details-panel
  - Was using an old heuristic. Table-mode allows you to open child cards
    before the parent.
- Make it clear what the default sort is in tables
  - E.g. always show a sorting caret
- Sort grid-mode columns, first meta then metrics
- dancing-nodes rememdy #1: pause updates onRowHover
- Splits relatives out into their own columns
- Take into account scrollbar width for grid-mode col header position
- Tooltips on table column headers
- grid-mode: fixes first column headers (proc/container/c-by-image)
- Disable pause-on-hover, too aggresive
- reduce label column width a bit (33pc -> 25pc) for big tables
- Filter grid-mode onSearchChange
  - Rather than previous behaviour of waiting for an <enter>
- Show label_minor on pseudo nodes, that might not have much other info
- grid-mode: further reduce width of id column.
- Fixes go tests, properly moves parents into node-summary
- Fixes sorting of string columns w/ missing fields.
  - E.g. uptime. Where -1e-10 > '3days' doesn't work.
2016-08-03 08:50:37 +02:00
Simon Howe
fa502ae6ad Removes the combined table-topo-view 2016-08-03 08:46:17 +02:00
Simon Howe
c51e290127 Node grid view
More graphs!

Rank is not support by dagre any longer..

Quick go at using facebook's fixed-data-table

Kind of working, kind of interesting.

Hack on the details-panel table, supports sorting etc already!

No, this one! Hacks on the details panel's table.

Hovering on the table works! (highlights nodes)

wip get sorting going

Working on sorting, not behaving!

Pulling out methods to fns

Kind of demoable

More hacks to make it demoable
2016-08-03 08:37:17 +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
Simon Howe
0a46d6128c Fixes node-position layout caching.
Key was not being generated correctly.
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
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
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 Howe
6754c03980 Selected-node-size review feedback
- Tighten up method definition
2016-04-11 15:33:23 +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
392589744c Fix zooming regression
Introduced in #1186

Fixes #1233
2016-04-06 15:23:13 +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
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
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
ef1c69eb2a Basic hover to select metric 2016-04-04 17:48:40 +02:00
Simon Howe
d31aadf7b1 Metrics on canvas!
- Adds metric on canvas support for more shapes
- More variation from the debug bar.
2016-04-04 17:48:40 +02:00