-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grid Mode #1673
Conversation
when did you last rebase this branch? I am having trouble building it. |
Yep, origin was in a bit of a bad way until ~2-3 mins ago. Rebased again onto latest Gonna try building clean too as haven't done that for a bit... |
re "Add context links to related items".. We need to be careful here not to repeat the mistakes of the details panel - see #921. We could have individual columns here for each of the contexts, e.g. for containers we would have host and pod and image columns. Trouble is that the kind of parents may well differ per item. Hmm. Also, what are we linking to here? Details panels? Re k8s columns... not sure what you mean by that, but having a grid mode for all the k8s views is not a stretch goal. Other missing bits:
|
I am not keen on the increased row spacing. It halves the information density compared to the previous version. |
Yeah, will play w/ that wrapping, doesn't work that well in chrome w/ narrower browser window. |
when I use context navigation, e.g. click on an image or host link in a container row, the details panel that pops up is lacking the "</>" button to switch to the table view for that kind of item. |
There will typically be two "Internet" rows - one for inbound and one for outbound - but since the table doesn't show sub-labels, there is no way to tell which is which. |
what's the default sort order? Is there one? None of the headings have that little arrow on by default. |
What is the purpose of the light blue highlighting for the name and context? Looks like the context is just a list of links. That means I cannot sort by them, e.g. I cannot sort containers by image or host. The aggregate process and container views (I haven't looked at k8s views yet) are pretty bare. Not much we can do about that until we have aggregate metrics. Though the process-by-name and container-by-dns-name views should at least show process/container counts. |
I consider the current list of 'stretch' goals to be rather important. Of those, incremental search is the most important - I thought search wasn't working at all because I was so used to seeing the incremental matches from the topo mode. "scroll-to-position" is probably next since the UX can be really puzzling otherwise. |
Its the selector! Allows double-click on other table cells to copy-paste their values w/out opening the details panel. But that not be very clear.
True, that might be nice. |
This either doesn't work or I don't understand how it's supposed to work. For me, the blue highlight always shows for the name column when I hover over a row - it never moves to any other cells. And double clicking doesn't do anything special. Well, it pops up the details panel and immediately hides it, and selects the name. |
A few other niggles...
I think the freeze-on-hover is too aggressive. Firstly it seems to cover the entire table area, not just the rows, so even having the mouse below the last row still freezes the table. Secondly, it looks like the freeze stops updating completely - I reckon it should only stop rows from moving, not values from updating. Tricky though if the most recent data adds/removes rows. Hmm. A few alternative strategies to deal with updates while hovering over a row...
The latter is slightly wrong but probably offers a more stable view overall. |
Agree |
rebased on master. |
I'd be happy to see this tackled in a follow-up issue. |
I'd be happy to see this tackled in a follow-up issue, especially since a) the table only updates every few seconds, and b) until we add controls, nothing bad happens when you accidentally click on the wrong row.
ditto. Most of the other niggles I found have been fixed, except for
|
Functionality:
UX:
Visual:
|
I see I am not the the only person confused by the blue highlighting :)
Please don't. Information density is key to this mode. Alternating colours, perhaps? |
Sehr schön. Well, except for that control panel in the bottom left obscuring a whole bunch of entries. But you already know about that, and we can fix that later. And the columns that are infuriatingly truncated because they are just a few pixels too narrow. Please do fix that. |
So I'll have a go moving the toggle button and double check those column widths but do you think you might have time to read through some code today @davkal ? |
That would be cool.
I like the effect! the rows are disappearing underneath something. We could turn it off too though. Try it out :).
A bordered area for the rows to appear out of. Bottom of the screen and they clash w/ the control icons in bottom right. |
I've seen this effect done elsewhere but perhaps the shadow only appears when you start scrolling. |
@@ -32,7 +32,7 @@ function maybeUpdate(getState) { | |||
receiveNodesDelta(delta); | |||
} | |||
if (deltaBuffer.size > 0) { | |||
updateTimer = setTimeout(maybeUpdate, feedInterval); | |||
updateTimer = setTimeout(() => maybeUpdate(getState), feedInterval); |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
Commented on JS/CSS code. Minor comments, rest looks good |
Continued in
|
@rade please have a quick look at the columns when you get a chance. The label columns are now as balanced as the other variable columns which should reduce the acreage. Please post screenshot if I'm mis-understanding the issue. |
Visually this LGTM now. I suggest filing a separate issue for the selector positioning. |
Have just noticed that the name doesn't have a tool tip. Which is especially annoying when it is truncated. |
no longer LGTM. i am sitll running into #1673 (comment). |
js console shows
|
Cheers, thats a new error message for me! Investigating. |
I'm trying to repro, not got it yet. Can you post a report if you get the error consistently. |
|
Cheers, good catch w/ label tooltip too. On 2 August 2016 at 10:57, Matthias Radestock notifications@github.com
|
process view fix is working for me. and tooltip too. Other than filing an issue for the selector position (re)location, this LGTM. |
More graphs! Rank is not support by dagre any longer.. Quick go at using facebook's fixed-data-table Kind of working, kind of interesting. Hack on the details-panel table, supports sorting etc already! No, this one! Hacks on the details panel's table. Hovering on the table works! (highlights nodes) wip get sorting going Working on sorting, not behaving! Pulling out methods to fns Kind of demoable More hacks to make it demoable
- 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.
- highlight whole row - don't do anything when selecting text
- Also don't show table borders when no nodes. - 't' toggles table mode on/off, rather than 't'/v'
- Also adds tooltip for id label column (container/process name)
Fixes #1621
networks
columnlabel_minor
somewhere...Pushed