Commit Graph

81 Commits

Author SHA1 Message Date
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
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