Commit Graph

561 Commits

Author SHA1 Message Date
Simon Howe
b2837c21e8 Fixes UI hanging if currentTopology no longer exists for some reason
- Reasons: k8s was currentTopology but was then disabled while the UI
  was looking at that view.

Fallback to our default-topo-selection logic.
2016-09-26 12:19:36 +02:00
Simon Howe
fe1ba9cc4d Tidying up connectionrow.dataType
- Rename DataType -> Datatype for consisitency
- Remove Datatype from connection.metadata
- Change UI to read dataType from connection.columns rather than from
  connection.metadata (col header rather than "cell")
2016-09-22 15:36:36 +02:00
Simon Howe
7c4654d45c Fixes left alignment of numbers in the details panel tables
- By declaring more things to be numbers
- Also fixes initial sort direction of number columns from asc to desc.
2016-09-21 16:18:26 +02:00
Simon Howe
517110ba09 Keep "count" as tooltip for new mini "#" column header 2016-09-21 15:24:59 +02:00
Simon Howe
52362496b3 Rename connections."Count" => "#", flex remote column 2016-09-21 15:13:01 +02:00
Simon Howe
fc3fc72205 Fix ip column width in connections table, avoid truncating long ips 2016-09-21 10:01:42 +02:00
David Kaltschmidt
d9fe7eb32c Add localstorage support for saving view state
This PR adds support to remember the view state even after the browser
tab has been closed. This helps someone who is always looking at the
table view of a certain topology to which currently they have to perform
a minimum of 2 clicks.

* app view state is backed up in localStorage
* when visiting Scope with no URL view state, the localStorage state is
 used (i.e. the URL state has priority)
2016-09-06 15:32:06 +02:00
David
58d97bfdee Merge pull request #1818 from weaveworks/plugin-controls-ui
Add support for table based controls
2016-09-02 15:23:32 +02:00
Simon Howe
024b526ef0 Try out a label rather than icon for open-term-in-new-browser
We call it, POP OUT. And we think you're going to love it.
2016-09-01 18:13:35 +02:00
Simon Howe
cbd8c7aba2 Adds tooltip to terminal-popout button
- Fixes react warning p > div.
- Adds esc to close popped out terminal.
2016-09-01 18:13:34 +02:00
Simon
574deeea9f Merge pull request #1823 from weaveworks/1809-make-services-initial-topo
Makes services the initial topology if available
2016-09-01 17:21:54 +02:00
David
56f99fc665 Merge pull request #1836 from weaveworks/1825-fix-plugin-renderer
Fixes plugin renderer in status line
2016-09-01 14:47:34 +02:00
Simon Howe
343a986951 Check for all k8s topos before defaulting to container topo
- Show something from k8s by default if its around.
2016-09-01 14:15:52 +02:00
Simon Howe
eeeb1385c5 Makes services the initial topology if available
- Otherwise reverts to containers
2016-09-01 14:15:52 +02:00
Simon Howe
a1dd4eb996 Small refactor of case insensitive table sorting. 2016-09-01 14:14:31 +02:00
Simon Howe
35ccc9acd1 Sory by label properly + sort case insensitivly! 2016-09-01 14:14:31 +02:00
Simon Howe
66191bd649 Correct sort order of label column on initial table load
- We still have a heuristic: sort first mertric column we find desc.
- If there is no metric sort by label column ascending
2016-09-01 14:14:31 +02:00
Simon Howe
66561e1d8e Sort non-number columns ASCending by default.
- And number columns DESCending by default.
- default: when you sort by that column for the first time.
2016-09-01 14:14:30 +02:00
David Kaltschmidt
8ac4d0bb62 Fixes plugin renderer in status line
The code assumed a plugin object was JS, but it's actually an immutable.
Calling `toJS` to fix.

Fixes #1825
2016-08-30 16:53:22 +02:00
David Kaltschmidt
51bb6263bc Add support for table based controls
* if a node table has `controls` they will be rendered in a row
* controls need the to be of the same structure as node-level controls
* control errors are not shown
2016-08-18 22:28:01 +01:00
Simon Howe
e73440e9f1 Fixes top of node-blue-search-highlight from being chopped off.
- Increase line height so that it doesn't fall over the side of the
  container (which is overflow: hidden).
- Compensate for line-height increase w/ small label position tweak.
2016-08-18 14:50:37 +02:00
Simon Howe
86101764b6 Tweak node/label-sizes to avoid overlap in certain layouts.
- Also permanently enables the label bg (previous was only on hover) to
  aid readibility w/ the (sometimes) smaller labels.
2016-08-17 16:03:47 +02:00
Simon
6f9912501d Merge pull request #1784 from weaveworks/1745-right-align-column-numbers
Right align numbers, left align strings.
2016-08-15 09:43:31 +02:00
Simon Howe
3851d9c662 Right align numbers, left align strings.
ala excel/spreadsheets etc.
2016-08-12 15:18:39 +02:00
Simon
1d4904d56f Merge pull request #1775 from weaveworks/1749-filter-by-relatives
Adds support for filtering graph/table by relatives
2016-08-10 16:01:25 +02:00
Simon Howe
5cf8ee2a6b Move chrome-css-fix out of js into css w/ comment 2016-08-10 14:10:10 +02:00
Simon Howe
4d5d0d5dc2 Fixes origin of node-details-panel expanding animation 2016-08-09 20:16:23 +02:00
Simon Howe
8f4b3ab97d Fixes animation of node labels on focus.
Was a bit janky there for a bit.
2016-08-09 20:00:39 +02:00
Simon Howe
fc2fcfb298 Adds support for filtering node/table by relatives
Now that they are available in the summary data.
2016-08-09 18:20:43 +02:00
Simon Howe
564c64ec21 Fixes truncating of labels 2016-08-09 16:07:25 +02:00
Simon Howe
5846222fe1 Scale node labels with the node's size.
- Within certain bounds. Still have min-label size, mainly effects nodes
  that get really big.
- Set a max size on nodes too, really big ones lose their border.
2016-08-09 14:57:13 +02:00
David Kaltschmidt
4c5ac4fc33 Fixes search icon position on chrome
* simplify search icon and label markup

Fixes #1715
2016-08-05 19:29:59 +02:00
David
cbb13503d5 Merge pull request #1742 from weaveworks/profile-websocket-render
Add browser console logging for websocket to render times
2016-08-05 13:35:12 +02:00
Simon Howe
4e2b2028f0 Tighten up grid-mode-selector pointer-event bounding box 2016-08-04 17:42:57 +02:00
Simon Howe
bf8791b9d5 Header no longer prevents node hover/click
This introduces an inverse thingy, whenever you add something to the
header you have to be aware that by default you won't get any pointer
events and that you'll have to enable them for the dom elements you
wanna make interactive.
2016-08-04 17:38:27 +02:00
Simon Howe
d786a075f6 Fixes foreignObject preventing other nodes from receiving hover 2016-08-04 17:36:14 +02:00
Simon Howe
bf8d8a89e7 Smaller node bounding boxes for onHover/onClick
foreignObject was huge on firefox.
2016-08-04 17:36:14 +02:00
David
df6d1de0dd Merge pull request #1753 from weaveworks/1743-grid-selector-position
Move grid selector to top menu
2016-08-04 16:34:52 +02:00
David Kaltschmidt
38083b5965 Move grid selector to top menu
* move to top right, to bookend topologies
* hierarchically similar to search, so similar positioning

Fixes #1743
2016-08-04 14:49:28 +02:00
Simon Howe
aaee43a76b Make the port column a little wider to stop truncation
- Set kubernetes_ip width too to stop truncation
2016-08-04 14:03:41 +02:00
Simon Howe
d02cb25495 Tidyup JS: make keys in grouping dict more sensible
true/false are confusing.
2016-08-03 17:25:09 +02:00
Simon Howe
6c0f8ba638 table-mode: handle nodes w/ no value for sorted column gracefully
- put empty values below those that have a value.

+-----+-----+
|3    |5    |
|4    |4    |
|5    |3    |
|null |null |
|null |null |
+-----+-----+
2016-08-03 14:21:33 +02:00
Simon Howe
504eb7f6e3 Fixes after rebasing onto master (loading-indicator) 2016-08-03 09:11:17 +02:00
Simon Howe
925905bc43 Table-mode: fixes processes view if internet is present.
- Also adds tooltip for id label column (container/process name)
2016-08-03 08:53:07 +02:00
Simon Howe
3e4ec1dc61 Review feedback + fiddling w/ the columns widths a little more. 2016-08-03 08:53:07 +02:00
Simon Howe
a2810afaf1 Fixes grid -> topo transition.
- Also don't show table borders when no nodes.
- 't' toggles table mode on/off, rather than 't'/v'
2016-08-03 08:51:07 +02:00
Simon Howe
df1efff19b Force a layout after a toggle to viz-mode 2016-08-03 08:51:06 +02:00
Simon Howe
f83e0f1a48 Remove a lot of un-used code that I still want to keep 2016-08-03 08:51:06 +02:00
Simon Howe
29e67683b3 New selection model.
- highlight whole row
- don't do anything when selecting text
2016-08-03 08:50:37 +02:00
Simon Howe
d0b99969ea Grid-mode tuning!
- Change scrolling behaviour to lock headers in place
- Enable filtering (hitting enter in the search bar) in grid-mode
- Little more top-margin for k8s (can have 3 topos) + taller rows.
- Trying out rank-color + node.relatives in the grid-mode
- First pass at selecting rows.
  - Needs a bit more a fiddle, colors + click areas
- Store grid sort direction (asc/desc) in url state
- Simplify node selection to one method. (over-ride existing card)
  - Remove clicking on name directly (links) to overlay new cards for now.
- Playing w/ grid-mode-toggle icons and labels
- Improves rendering in ff, change of shortcut keys for grid-mode-toggle
- Playing w/ clearer selection colors for grid-mode
- Slight change to selection-ui
- Fixes showNodeInTopology button visibility on the details-panel
  - Was using an old heuristic. Table-mode allows you to open child cards
    before the parent.
- Make it clear what the default sort is in tables
  - E.g. always show a sorting caret
- Sort grid-mode columns, first meta then metrics
- dancing-nodes rememdy #1: pause updates onRowHover
- Splits relatives out into their own columns
- Take into account scrollbar width for grid-mode col header position
- Tooltips on table column headers
- grid-mode: fixes first column headers (proc/container/c-by-image)
- Disable pause-on-hover, too aggresive
- reduce label column width a bit (33pc -> 25pc) for big tables
- Filter grid-mode onSearchChange
  - Rather than previous behaviour of waiting for an <enter>
- Show label_minor on pseudo nodes, that might not have much other info
- grid-mode: further reduce width of id column.
- Fixes go tests, properly moves parents into node-summary
- Fixes sorting of string columns w/ missing fields.
  - E.g. uptime. Where -1e-10 > '3days' doesn't work.
2016-08-03 08:50:37 +02:00