Commit Graph

107 Commits

Author SHA1 Message Date
Simon Howe
fd55c3064a Unmock some more stuff needed after added in hoc 2016-02-08 20:08:08 +07:00
David Kaltschmidt
88fb9fe4de Highlight topologies with no border
* removed background from sidebar items
2016-02-08 12:21:43 +01:00
David
188eea8f33 Merge pull request #795 from weaveworks/638-animate-sparklines
Animate sparklines
2016-02-05 14:48:55 +01:00
David Kaltschmidt
7d73590ced Enable metric feeder also for health overflow items
* tried activating it for child tables too, but that became quite CPU
  intensive, and feed intervals became out of sync (host CPU < container
  CPU, which is hard to believe)
2016-02-04 17:17:11 +01:00
David Kaltschmidt
d46f1a9d3c dont format metadata 2016-02-03 16:35:03 +01:00
David Kaltschmidt
64f08dcf96 Metric feeder as higher order component to feed sparklines data 2016-02-03 16:25:54 +01:00
Paul Bellamy
28de56f43f just show the untruncated label in the tooltip on children 2016-02-03 12:34:52 +00:00
Paul Bellamy
0a292f530c move docker labels into their own table of the details panel 2016-02-03 10:29:28 +00:00
David Kaltschmidt
0a0179aeb1 Integrated animated sparklines into new details panel
also added sortBy date after merge in value buffer
2016-02-02 18:06:33 +01:00
David Kaltschmidt
a8809cadfd Animate sparklines by feeding data item by item
* Refactored sparklines to be rendered by react

* Correct row key for sparklines

* Extracted data feed into animated-sparkline

* last value is rendered by sparkline now, because it relies on the
  last value that it is fed, not the lastest availble value
2016-02-02 12:23:51 +01:00
Paul Bellamy
1e4b872a63 Merge pull request #866 from weaveworks/852-processes
Rename Applications -> Process, sort topologies by rank.
2016-02-02 10:45:28 +00:00
David Kaltschmidt
9c4b4e2745 Details panel table header looks up label in all rows
Also fixes sorting of rows that have a missing metrics (0 vs null)

Fixes #891
2016-02-01 16:47:06 +01:00
Tom Wilkie
d3b11ee040 Rename Applications -> Process, sort topologies by rank. 2016-02-01 06:54:18 -08: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
aad6e1fbeb Fixes new browser window size when popping out terminal.
Calculate the size more dynamically based on the size of the terminal
dom element.
2016-01-29 13:19:06 +01:00
Simon Howe
06aff39548 Fixes details cards opening out over the terminal 2016-01-29 13:17:58 +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
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
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 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