231 Commits

Author SHA1 Message Date
Simon Howe
6edbd49791 Fixes pipe status when reloading page.
Correctly load in state from the url.
2016-01-21 21:15:54 +01:00
Simon Howe
d5cf3d2c59 Fixes exec/attach from the 2nd+ card.
- Also fixes strange issue where hitting ESC while a terminal was
  active, would update the route, reload the top card, and break the
  terminal connection status.
2016-01-21 16:57:22 +01:00
Simon Howe
f63c50475c Corrects the node control error placement 2016-01-19 18:23:21 +01:00
Simon Howe
c43abd6075 Reconcile some details-panel stuff after the rebase. 2016-01-19 16:31:17 +00:00
Simon Howe
0785d5393a Fixes pipes again
- Treat control objects that come back from the server as little
  black boxes.
- Pass our local client nodeId around more instead, use that for
  comparisons etc, (vs. inspecting the control object and doing brittle
  magic w/ the ids).
2016-01-19 16:48:35 +01:00
Paul Bellamy
bf13a824d4 render detail status section for metadata or metrics 2016-01-19 16:47:49 +01:00
Tom Wilkie
9e61ad37f4 Get Pipes working again.
They stopped working because of the change to container node IDs (and rendered nodes IDs for containers).  The UI was comparing the IDs, which was never safe.  I have just removed that code.  This does leave the possibility of us having the pipe control operation take a long time, the user navigate to a different node, and then the terminal pop up, but I think thats better that teaching the UI to understand the format of the node IDs.
2016-01-19 16:47:48 +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
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
4c4748e722 Merge pull request #819 from weaveworks/818-close-disconnected-pipe-with-esc
Allow dismissing a disconnected terminal w/ <esc>
2016-01-19 10:30:01 +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
8a7cfdb46f Allow dismissing a disconnected terminal w/ <esc> 2016-01-14 18:08:08 +01:00
Simon Howe
18d31a0d08 Send xterm equivilant codes for ctrl-arrow keys
Docker sets $TERM=xterm.
2016-01-14 17:30:24 +01:00
Simon Howe
3c5e357150 Highlight a single unconnected node on hover.
Wasn't happening before.
2016-01-13 17:01:37 +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
22247130d3 Log proxy connection errors rather than killing server.
Don't have accurate repro for when they occur.
2016-01-04 16:40:02 +01:00
Simon Howe
a17355e667 Fixes display of unicode characters in the terminal 2015-12-29 09:33:31 +00:00
David
4ea854519b Merge pull request #775 from weaveworks/build-performance
Speed up npm bundle builds
2015-12-16 18:54:35 +01:00
David Kaltschmidt
57dfe4a4e8 Dont use -p on webpack when declaring uglifyjs plugin 2015-12-16 18:53:11 +01: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
David Kaltschmidt
b70e68a319 Split JS bundle into vendor and app 2015-12-16 13:45:37 +01:00
David Kaltschmidt
acaef9f639 Speed up npm bundle builds
Use include option to point to app sources
2015-12-16 10:33:58 +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
Simon Howe
6ddd2ed9ff Fixes linting violations 2015-12-15 16:14:39 +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
fdd45fdd43 Fixes AltGr+[0-9] which is required in some locales (UK). 2015-12-14 13:57:18 +01:00
David Kaltschmidt
d93a3e22c9 Dont deselect node on ESC if there is a controlPipe 2015-12-11 11:34:18 +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
David Kaltschmidt
2ce9de62f2 add empty eslintignore, original source maps 2015-12-01 14:29:28 +01:00
David Kaltschmidt
40f504022c dont send topology options when requesting node details 2015-11-30 12:59:53 +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
72fb2f793c Treat empty text and no text the same for color 2015-11-26 18:47:07 +01:00
David Kaltschmidt
37b71487cd Disregard node details response if node is no longer selected 2015-11-25 20:01:42 +01:00
David Kaltschmidt
b1fa8a77b5 Click on node unsets loaded node details 2015-11-24 19:31:46 +01: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
1d34689bbb Merge pull request #694 from weaveworks/procedural-colors
Procedural colors (like #690 but merge to master)
2015-11-24 18:41:40 +01:00
David
ec14a59d41 Merge pull request #689 from weaveworks/684-colors
Rank-based colors for nodes
2015-11-24 17:43:38 +01:00