Commit Graph

52 Commits

Author SHA1 Message Date
Filip Barl
1ef64cf17c Addressed David's comments 2017-01-20 12:52:03 +01:00
Filip Barl
26fc2eed58 Fixed row focusing for the bottom of a scrollable table 2017-01-20 12:36:27 +01:00
Filip Barl
687fb3a201 Maintain focus on hovered node table rows
More sophisticated row focusing

Keeping deleted focused nodes in the table

Fixed focus debouncing
2017-01-20 12:36:27 +01:00
Filip Barl
6888108b83 Made the searching of generic tables work on the UI
Extracted table headers common code on the frontend

Fixed the search matching and extracted further common code in the UI
2017-01-16 12:22:10 +01:00
Filip Barl
26b3e9efc9 Reapplied all the eslint upgrade changes 2016-12-15 15:04:53 +01:00
David
99bfab89b7 Revert "Upgraded eslint & eslint-config-airbnb" 2016-12-12 16:06:13 +01:00
Filip Barl
3fdcd9b5e7 Applied arrow-parens linting rule 2016-12-12 11:02:18 +01:00
fbarl
e47c3e0973 Applied a couple of simpler rules 2016-12-12 10:56:56 +01:00
fbarl
524e2e2e9a Importing lodash util functions explicitly. 2016-12-09 14:03:31 +01:00
Filip Barl
d15e884cb1 Table-mode: sort ips numerically (#2007)
Fix #1746 - sort IPs numerically in the table mode
2016-11-22 11:05:59 +01:00
Simon Howe
ea9101ad0f Fix warning about text nodes in thead in details panel 2016-10-31 15:29:53 +01:00
David Kaltschmidt
a0f1b25a0b Give datetime more space in the table 2016-10-20 13:17:34 +02:00
Simon Howe
f0a50b85e9 Metrics cols a little wider again 2016-09-26 11:02:32 +02:00
Simon Howe
51e4fc6d74 Drop our label-col width heuristic for less wasted col. space
- The label column now flexes to the available space. (Old behaviour:
  label width was a function of # of cols).
- Most columns other than the label now have a fixed width specified
  (some large ones are left to share the avaiable space w/ the label)
2016-09-26 10:48:06 +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
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
Simon Howe
3851d9c662 Right align numbers, left align strings.
ala excel/spreadsheets etc.
2016-08-12 15:18:39 +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
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
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
Simon Howe
fa502ae6ad Removes the combined table-topo-view 2016-08-03 08:46:17 +02:00
Simon Howe
c51e290127 Node grid view
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
2016-08-03 08:37:17 +02:00
Simon Howe
f11c559499 Force some known column widths to prevent truncation of others
Port/count won't exceed a certain width so slim those down to free up
space for the IPs.

This can be extended to CPU/memory in the future but that needs a little
more refactoring in the number renderers
2016-07-05 12:26:10 +02:00
Tom Wilkie
0a51064713 Use reverse-resolved DNS info in the connections table. 2016-04-20 17:18:32 +01:00
David Kaltschmidt
e497c3ce39 Fixed column widths for node tables with few columns
* Gives the node label column more space
* let the remaining columns fight over the rest

Fixes #1076
2016-04-12 17:06:01 +02:00
Tom Wilkie
d237f52a90 Ensure connection rows have unique IDs. (#1245)
* Ensure connection rows have unique IDs.

This adds new types for connections tables.

* UI support for new connection table rows

* Parameterized node Id key for connections table

* also s/node_id/nodeId, and s/topology_id/topologyId in connections
* table

* Added comment about nodeIdKey

* Review feedback:
2016-04-11 14:40:50 +01:00
David Kaltschmidt
e4270f69b7 Upgraded dev deps and linted JS according to latest airbnb rules 2016-03-15 18:09:45 +01:00
David Kaltschmidt
658a38f40a Upgrade npm app dependencies 2016-03-15 13:45:57 +01:00
David Kaltschmidt
a40b5a31a8 Default sorter specified by table columns 2016-03-03 15:53:15 +00:00
David Kaltschmidt
7b77210108 Render connection table as nodes table
Also:
- Make metadata fields sortable as numbers
- Sort by selected metadata column
2016-03-03 15:53:15 +00:00
David Kaltschmidt
f3351cf440 Fix columns for pods in service details panel 2016-02-26 16:34:59 +01:00
David Kaltschmidt
f411b9c437 Review feedback 2016-02-25 14:02:32 +01:00
David Kaltschmidt
cdf2c21057 Replace Show More buttons with carets w/ counts 2016-02-24 18:58:26 +01:00
Paul Bellamy
89d7ebe977 show nice column labels when no children have metrics 2016-02-10 11:42:03 +00: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
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
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