49 Commits

Author SHA1 Message Date
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 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
921a7b723f More Terminal-UI and code post review fixes. 2015-12-10 19:43:46 +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
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
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
c0e7ade9e9 Add x to close details panel again
Fixes #667
2015-11-13 15:29:23 +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
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
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
5c086aeeb3 show message if topology is empty 2015-11-03 18:27:23 +01:00
David
a557769b78 Merge pull request #494 from weaveworks/474-toomanynodes
Show message in UI when topology too big to render
2015-09-18 17:20:57 +02:00
David Kaltschmidt
74840169a5 changed topo max nodes text, fade in topo 2015-09-16 15:39:53 +02:00
David Kaltschmidt
6be8b1648a fix truncate issue on details panel 2015-09-16 13:09:55 +02:00
David Kaltschmidt
7f4673ae4b Show message in UI when topology too big to render 2015-09-16 12:53:33 +02:00
David Kaltschmidt
38fa82dee4 animate status bar, add Loading text 2015-09-15 16:38:31 +02:00
David Kaltschmidt
3a42ec48ea style tweaks for sidebar 2015-09-15 15:28:48 +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
396ebdd13e pseudo nodes should be equally blurred 2015-09-11 14:46:07 +02:00
David Kaltschmidt
f764e4415e respect both ways of adjacency for selected node 2015-09-09 18:26:44 +02:00
David Kaltschmidt
2c554fe273 blur nodes that not selected nor adjacent 2015-09-09 18:12:02 +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
9b8a314742 Trim long container names and labels in details
fixes #418
2015-09-02 17:45:07 +02:00
David Kaltschmidt
1085a7fcd9 include roboto in build
no need for internet connection anymore
include roboto via materialize

see http://materializecss.com/

roboto licensed under APLv2, see
https://github.com/google/roboto/blob/master/LICENSE
2015-06-16 18:02:52 +02:00
David
5627658a2e Merge pull request #222 from weaveworks/redesign-grouping
Grouping redesign
2015-06-15 10:50:55 +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
b9563f35d7 Styled pseudonodes pale and remove interaction 2015-06-12 09:23:32 +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
Tom Wilkie
e1092d2ac2 Add report issue link 2015-06-09 16:29:22 +00:00
Tom Wilkie
96abd00918 Plumb through the application version in the UI. 2015-06-03 13:22:15 +00:00
David Kaltschmidt
9c3db34d49 highlight edges and connected nodes on edge hover 2015-05-29 18:00:35 +02:00
David Kaltschmidt
e6f4a8ce71 highlight connected nodes on hover 2015-05-29 16:53:05 +02:00
David Kaltschmidt
2720b17ab1 position tools absolute, extract truncate class
fixes #124
2015-05-29 15:05:07 +02:00
David Kaltschmidt
4d027fef19 changed tooling from browserify to webpack
* using browsersync instead of livereload
* `gulp serve` works as before
* `gulp sync` starts browserSync and serves UI on port 3000
* everything is built in `build/`
* build release with `gulp build --release`
2015-05-29 11:48:55 +02:00
David Kaltschmidt
99c76dc4c8 fix indentation to 2 spaces in js/less/html 2015-05-28 15:05:01 +00:00
Tom Wilkie
ab41aacd59 Fix wrapping and scrolling in the details pane. 2015-05-24 09:36:49 +00:00
David Kaltschmidt
66d66a4d01 Fix grouping bar for topologies that don't support grouping
- fixes #61
- dont clear nodes cache if topo is the same
- combined stores that were interdependent
- dont show topology grouping menu if unsupported
- also harmonized some variable names
- removed old grouping switcher
- moved topo actions to app actions, removed search
- get correct topology url
- first JS test using Jest
- make tests run on circle using the build container.
- replaced jest test runner with karma/jasmine
- Use debian for UI build and test container.
- updated karma-browserify
2015-05-22 16:41:48 +00:00
David Kaltschmidt
16a7fc2f50 removed unused stats styles, search and options 2015-05-19 16:53:40 +02:00
David Kaltschmidt
6a56a797d9 bring top menues closer together 2015-05-19 16:46:44 +02:00
David Kaltschmidt
0040b25f69 show disconnection state 2015-05-19 10:05:39 +00:00
David Kaltschmidt
cda51ef696 grouping switch for topologies
fixes #24
2015-05-19 10:05:06 +00:00
David Kaltschmidt
ea382b1e1b applied company colours 2015-05-19 10:05:04 +00:00
David Kaltschmidt
bacd7f9f7c new scope logo 2015-05-19 10:05:03 +00:00
Tom Wilkie
d50e827fd5 Intial commit 2015-05-19 10:02:02 +00:00