Commit Graph

83 Commits

Author SHA1 Message Date
Simon
359ec29c09 Merge pull request #797 from weaveworks/758-independent-node-controls
Fix node controls so they behave independently across nodes
2016-01-19 14:41:37 +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
Simon Howe
5b390994b8 Fix node controls so they behave independently across nodes
If one node was busy performing an action, any other nodes controls
would also be in a 'blocked and waiting' state.
2016-01-05 19:17:10 +01:00
Simon Howe
a17355e667 Fixes display of unicode characters in the terminal 2015-12-29 09:33:31 +00:00
Simon Howe
a166ecc92c Tidying up a little bit. 2015-12-16 17:32:46 +01:00
Simon Howe
4df1cac033 Set correct size for terminal which fixes text wrapping.
Sometimes it was going off the sides/bottom.
2015-12-16 17:32:45 +01:00
Simon Howe
dbd789317d Also proxy WS to the BE while in dev mode.
WS weren't using the proxy.
2015-12-15 16:39:57 +01:00
David
2c9e0fa60a Merge pull request #763 from weaveworks/748-fix-terminal-keys
Fixes AltGr+3 which is required in some locales (UK).
2015-12-14 15:28:30 +01:00
Simon Howe
08a68aa605 Oops, forgot to remove a log. 2015-12-14 15:23:48 +01:00
Simon Howe
24530a3eed Send ctrl-a through to server rather activate term.js's copy mode. 2015-12-14 14:29:19 +01:00
Simon Howe
437cd737cc Fixes popped out terminal title 2015-12-14 14:02:19 +01:00
Simon Howe
8a6361559c Add terminal setTimeouts as instance properties instead of globals
in case we ever have 2 terminals
2015-12-10 19:59:38 +01:00
Simon Howe
921a7b723f More Terminal-UI and code post review fixes. 2015-12-10 19:43:46 +01:00
Simon Howe
e0ff3e3ddd Cleanup our timeouts. 2015-12-10 19:43:45 +01:00
Simon Howe
50be8c61d2 Try to reconnect immediately giving a nicer ctrl-d diconnect exp. 2015-12-10 14:38:58 +01:00
Simon Howe
fe6e8973c4 UI Review feedback
- Adds more spacing between term and details windows
- Make the terminal status-overlay a bit smaller
- No period at the end of titles.
- Space out terminal button controls.
- Revise some of the terminal status prompts.
- Fixes terminal resizing.
- Flexbox was being very laggy on chrome. We can get away w/ absolute
  positioning in this case easily. Snappier.
2015-12-10 12:53:06 +00:00
Simon Howe
3b2af2ae6c Terminal UI for pipes
- term.js
- Add eslintignore
- Fix color and es2015 after rebase
- Fix JS test, probably deleted during conflict resolution
- Moves terminal close button to top-right of window
- Consitent w/ details window.
- Changes padding of details window close button so both close buttons
  are horizonally aligned.
- Terminal resizes w/ browser window.
- No longer can drag window around.
- Add tiny big of padding between term and node-details.
- Playing w/ terminal placement.  This one's more drawer-like.
- Send DELETE when we close a terminal window.
- Dont lint or bable JS vendor files
- Ignore ctags 'tags' files.
- Adds popping out terminal out into a new browser window.
- Simplify code as now we've just a single terminal window.
- ESC is back to close the terminal, then the details panel.
- Fixes bug w/ slow response to closing the details panel.
- Moving away from "drawer-style" for terminal size and position to a
  simple window.
- Just gotta handle the case for refreshing a popped out terminal.
- Stop terminal text being auto-deselected.
- window resizes will still deselect.
- Adds state.connected to react.scu check.
- Don't delete pipe when browser closes
- To allow for nicer refresh flows
- scope-app will time out pipe after a while.
- Keep terminal-open/closed state in the url.
- shouldComponentUpdate fix to prevent deselection of text has been
  rolled back so gotta come up w/ another way to handle that...
- Fixes terminal text-selection again.
- Make pipes work for non-raw terminals too.
- Move document.title updating somewhere more sensible.
- Pass rawTty prop along to all terminals.
- Don't render react root into doc.body
- Reconnect the websocket if we lose it.
- First, slightly rough, attempt at displaying if pipe has been deleted
- Refactor controlPipe structure in the AppStore/hash.
- Merge controlPipeId, controlPipeRaw, controlPipeStatus into a single object.
- Adds a status bar to the terminal window.
- Error handling in popout working again.
- Don't show terminal cursor when not connected.
- Simplify controlPipe status and error handling.
- Don't keep the status in the hash.
- Use special new action receiveControlPipeFromParams rather than
  adding lots of branching to receiveControlPipe.
- You can reload a terminal but it doesn't exist in history stack.
- Pull out terminal into its own entry point!
- Fixes prod webpack build
- Fixes terminal-app websocket path when running on prod.
- Fixes old terminals appearing when closing a terminal.
- History hacking wasn't working, this is a little simpler.
2015-12-10 12:52:44 +00:00
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