Commit Graph

158 Commits

Author SHA1 Message Date
Simon Howe
319fe31356 Show metrics that are available for displayed nodes.
- change color to bg
- show "x" to remove the metric.
- Small debugToolbar enhancements.
2016-04-04 17:48:41 +02:00
Simon Howe
a104962aa2 Simple metric selection clicking!
Locks onto a metric after you mouseout.
2016-04-04 17:48:40 +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
Paul Bellamy
80dc714c1e rename LabelMajor to Label 2016-03-29 14:00:11 +01:00
David Kaltschmidt
88abeb7168 Topology filter overhaul, still needs backend support 2016-03-29 13:26:49 +02:00
Tom Wilkie
7e2e4c9c45 Fix spelling mistakes in the codebase. 2016-03-23 10:51:27 +00: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
2ce5a39d45 Make node/edge highlighter objects immutable in app store
* refactor, no functionality changed
2016-03-16 11:29:40 +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
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
b3c5dc0513 Merge pull request #1120 from weaveworks/node-borders
Adjust node borders
2016-03-07 15:13:25 +01:00
David Kaltschmidt
f8850058b6 Simplify cloud selection 2016-03-07 15:12:51 +01:00
David Kaltschmidt
9163846c5a Review feedback for node borders 2016-03-07 13:44:29 +01:00
David Kaltschmidt
53d873124f Adjust node borders
* increase stack node borders by 0.5px (fixes #1080)
* space out stacks in contrast mode (fixes #1020)
* fix cloud border stroke-width setting (exlude from CSS styling)
* adjust cloud border for contrast mode
2016-03-04 11:50:25 +01:00
David Kaltschmidt
833b78c2e7 Fix embedded logo size
* CSS transform is ignored in Safari, using SVG transform instead

Fixes #1071
2016-03-01 16:12:38 +01:00
Simon Howe
569ca9d3d9 Pentagon -> Heptagon! 2016-02-25 16:27:13 +01:00
Simon Howe
292a56dc1d Adds support for the septagon node shape 2016-02-25 16:05:50 +01:00
David Kaltschmidt
bd821c159e Inject weavescope logo into exported SVG 2016-02-24 17:03:27 +01:00
David Kaltschmidt
1566727e45 SVG export button
* applies CSS styles inline
* exports SVG chart node
* injects A tag to download
* based on SVG-crowbar

Fixes #555
2016-02-24 16:17:45 +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
36e6b2e4a8 Increase space between stacked nodes and their labels
Fixes #1003.
2016-02-22 17:21:03 +01:00
Simon Howe
96c34507d6 Back to a parallel proj. for stacks 2016-02-22 12:42:37 +01:00
Simon Howe
46e29c3f15 No grey stacks for now
- May give the feeling something is not there when it should be, or
  incomplete.
- They create visual noise
2016-02-22 12:42:37 +01:00
Simon Howe
2c626776a1 Grey out bottom of stack when there aren't 3 nodes in the stack
E.g. greying out the bottom 2/3 visual nodes if the stack actually only
has a single node.

- Server returns "node_count" for agg nodes.
2016-02-22 12:42:37 +01:00
Simon Howe
24d06d534f Gentle perspective in the nodestacks.
- They get a little bit smaller as they go down.
- Small tweak for shape stacks + high contrast mode.
2016-02-22 12:42:37 +01:00
Simon Howe
54988c1101 Revert "Testing out more shapes."
This reverts commit 9a2504119def6b9afb1ac5897655793a84754152.
2016-02-22 12:42:37 +01:00
Simon Howe
d3283555b9 Testing out more shapes. 2016-02-22 12:42:36 +01:00
David Kaltschmidt
476b7917e4 Let shape be determined by backend 2016-02-22 12:42:36 +01:00
Simon Howe
a34d9c97b8 Adds node-shapes to the canvas
- circle
- rect (w/ radius)
- fluffy cloud shape
- hexagons
- stacks
2016-02-22 12:42: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
00755896de Merge pull request #882 from weaveworks/848-resize-terminal-on-card
Stop details cards popping up over the terminal.
2016-02-01 15:33:44 +01:00
Simon Howe
ab75bb5e41 Move details panel styling dimensions into common constants file.
They are used in a couple of places around the code base.
2016-01-29 13:16:33 +01:00
Simon Howe
2c74196c1c Fixes host node/details panel color mismatch
- 'label_major' has been changed to 'label' in the details api response.
- getNodeColorDark was giving up too early if a rank wasn't provided.
  The topo diagram which uses getNodeColor will select a color even w/
  no rank. Hosts don't have ranks at the mo.
2016-01-29 11:26:59 +01:00
David Kaltschmidt
d39fd847b7 Details Panel UI Redesign
Refactored nodedetails to support multiple data sets, probably broke some tests
  Allow api requests to out-of-view topologies
  Fix ESC behavior with details panel
  Stack details panel like cards
  Details pain side-by-side
  Details panel piles
  Fix node details table header styles
  Render load and not-found captions like relatives
  Fix topology click action
  Make node detail tables sortable
  Grouped metrics for details health
  Group metrics in same style
  Link node details children
  Fix scroll issues on double-details
  Fix DESC sort order for node details table
  Save selected node labels in state - allows rendering of node labels from other topologies before details are loaded
  Change detail card UX, newest one at top, pile at bottom
  Details panel one pile w/ animation
  Sort details table nodes by metadata too
  Animate sidepanel from children too
  Fix radial layout
  Dont set origin if a node was already selected, suppresses animation
  stack effect: shift top cards to the left, shrink lower cards vertically
  Clear details card stack if sibling is selected
  Check if node is still selected on API response
  Make detail table sorters robust against non-uniform metadata
  Dont show scrollbar all the time, fix sort icon issue
  Button to show topology for relative
  Overflow metrics for details panel health
  Fix JS error when no metrics are available for container image details
  Column-based rendering of node details table
  Fix JS tests
  Review feedback (UI)
2016-01-19 16:47:05 +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
bf9b5bf947 Procedural color creation for nodes
* color hue is based on the first 2 letters of node rank
* color lightness is based on the first 2 letters of node label
2015-11-20 14:47:05 +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
9fb3099a89 Dont scale graph on resize, only selected nodes 2015-11-12 17:22:33 +01:00
David Kaltschmidt
117f8b8444 Fix sublabel sizing 2015-11-12 16:18:19 +01:00
David Kaltschmidt
b6905d136d Undo pan/zoom after unselecting a node 2015-11-12 15:00:06 +01:00
David Kaltschmidt
3ca7415d47 Always center selected node
* dont allow panning while node is selected
* Shift nodes, not canvas on circling selection
* scale nodes on window resize
* Scale selected node to viewable size
2015-11-12 13:59:26 +01:00
David Kaltschmidt
7d5cc11d7e Enable linter for js test files 2015-11-11 19:09:40 +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
abcb94b1f1 UI for controls.
- Make backend address configurable via env variable
- `BACKEND_HOST=1.2.3.4:4040 npm start` points the frontend to the app on that server. Just for development
- Render control icons
  - removed close x for details panel
  - added control icons in its space
  - closing of panel still works by clicking on same node, or background
- Dont allow control while pending
- Render and auto-dismiss control error
- Make tests pass
2015-11-06 17:44:28 +00:00