Commit Graph

66 Commits

Author SHA1 Message Date
David Kaltschmidt
0c5331d33c Render hostname in UI 2015-12-04 15:45:16 +01:00
Simon Howe
4b33e32276 Fixes small ES2015 errors introduced while rebasing. 2015-12-01 14:37:14 +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
Tom Wilkie
f5aafb7a05 Don't apply filters to node endpoints & update details panel logic such that node which dissappear from the topology (eg when they are stopped) don't dissapear from the details panel. 2015-11-30 09:33:41 +00:00
David Kaltschmidt
13a2eec05d Loading details header now has node color 2015-11-24 18:49:49 +01:00
David Kaltschmidt
e60d64da27 Show a spinner while node details are loading 2015-11-24 18:41:56 +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
0cae3541fa Use rank to determine color in details 2015-11-20 13:01:09 +01:00
David Kaltschmidt
bfd633fe85 Fix render issues in Safari
* remove text shadow on node labels (left artifacts on zoom)
* wrap details header to avoid background color using padding

Fixes #439
2015-11-18 13:00:28 +01:00
David Kaltschmidt
5508c0aa67 Moved node control button to node-details 2015-11-16 15:52:17 +01:00
David Kaltschmidt
027c7aead3 Cleaned up node-details-table jsx mess 2015-11-16 15:49:04 +01:00
David Kaltschmidt
ee51247192 Fix getDOMNode warning 2015-11-16 15:39:41 +01:00
David Kaltschmidt
2000890cac Mitigate flattenChildren warning 2015-11-16 15:39:41 +01:00
David Kaltschmidt
232a2ebe2a Fix react error in NodeDetailsControls 2015-11-16 15:39:41 +01:00
David Kaltschmidt
9d5b9172fa Fix react key warning 2015-11-16 15:39:41 +01:00
David
c8c1996506 Merge pull request #678 from weaveworks/625-garbled-topology-options
Take default topology option if missing in URL
2015-11-16 15:36:34 +01:00
David Kaltschmidt
95b2c4f829 Take default topology option if missing in URL 2015-11-13 17:45:01 +01:00
David Kaltschmidt
c0e7ade9e9 Add x to close details panel again
Fixes #667
2015-11-13 15:29:23 +01:00
David Kaltschmidt
9fb3099a89 Dont scale graph on resize, only selected nodes 2015-11-12 17:22:33 +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
0c0ec79668 Lint sparkline js 2015-11-12 12:55:20 +01:00
David
7bac6d8495 Merge pull request #649 from weaveworks/node-upgrade
Upgrade JS node env and dependencies
2015-11-12 12:14:34 +01:00
David Kaltschmidt
7d5cc11d7e Enable linter for js test files 2015-11-11 19:09:40 +01:00
Paul Bellamy
510870e2f9 Add Sparklines to the UI based on Metrics.
- basic sparklines rendering for load
- Graphs are normalized so they all render on the y-axis.
- Time-axis is fixed to 15-seconds, so that data fills in correctly when data is insufficient
- Move load scalar behind sparkline
- add title to sparklines, showing timespan, samples, etc
2015-11-11 17:24:29 +00:00
David Kaltschmidt
1019e45940 Upgrade node version to v4.2.2, and jest to 0.7.1
* the jest update will allow for jest --watch to keep jest running
2015-11-11 18:24:09 +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
17f31cdb32 Control bar below node details header 2015-11-09 17:48:36 +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
David Kaltschmidt
cacc2e1bc3 Move testing to Jest 2015-10-26 17:49:21 +00: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
7f4673ae4b Show message in UI when topology too big to render 2015-09-16 12:53:33 +02:00
David Kaltschmidt
7b9e1e2867 add node radius to circle radius for canvas shift 2015-09-16 11:30:35 +02:00
David Kaltschmidt
38fa82dee4 animate status bar, add Loading text 2015-09-15 16:38:31 +02: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
6191999c9e shift canvas up/down if node circle off canvas 2015-09-11 16:39:00 +02:00
David Kaltschmidt
afbd1397df shift canvas if selected nodes are hidden 2015-09-11 15:41:26 +02:00
David Kaltschmidt
f0a5fcc439 highlight selected node and circle adjacent nodes 2015-09-09 16:36:33 +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
David Kaltschmidt
e08d533b72 truncate details table titles as well 2015-09-02 18:09:36 +02:00
David Kaltschmidt
3fd98df8ac add row keys to keep react happy 2015-09-02 18:05:26 +02:00
David Kaltschmidt
9b8a314742 Trim long container names and labels in details
fixes #418
2015-09-02 17:45:07 +02:00
David Kaltschmidt
2e50f6ae76 add test to check for detail pane titles 2015-09-02 16:00:28 +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
David Kaltschmidt
3728682878 Removed unused grouping and explorer code 2015-06-16 18:28:19 +02:00
David Kaltschmidt
3dcd3e527f start with closed websocket, so that icon loads 2015-06-16 15:49:36 +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
David Kaltschmidt
cdccd5d2c0 render grouped topologies menu sent by backend 2015-06-15 10:37:24 +02:00
David Kaltschmidt
816e1e9e99 layout of sub-topologies
* uses injected static topology, see web-api-utils.js
2015-06-12 11:37:49 +02:00
David Kaltschmidt
eb8a56bb1f show N/A if node disappears on remove 2015-06-11 19:19:54 +02:00
David Kaltschmidt
0f5e55db53 Display a n/a header in details if nodes are gone
fixes #193
2015-06-11 14:06:20 +02:00