* 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
- 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.
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
* Fix node-details-test for search
* Label spacing and matched text truncation
* Delete pinned search on backspace, add hint for metrics, escape % in URL
* Fix text-bg on node highlight
* Added tests for search-utils
* Fix matching of other topologies, added comment re quick clear
* s/cx/classnames/
* Ignore MoC keys when search in focus, blur on Esc
* Fixes search term highlighting on-hover
* Fix SVG exports
* Fine-tuned search item rendering
* Fixed search highlighting in the details panel
* Dont throb node on hover
* Hotkey for search: '/'
* Keep focus on search when tabbing away from the browser
* bring hovered node to top
* background for search results on hover
* fixed height for foreign object to prevent layout glitches
* Dont blur focused nodes on search
* More robust metric matchers
* More meaningful search hints
* adds a search field next to the topologies
* highlight results on canvas as you type
* non-matching nodes are grayed out
* "prefix:" limits search to field label
* Show k8s labels and container env vars in the details panel.
* Add show more bar to the env vars and labels
* React key was in the wrong place; empty tables render section labels.
* 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:
Add debug.html to show toolbar
Perfjankie test runner
Playing w/ the pure mixin for perf. improvements
* Works well! Smoother zooming/panning when things have settled.
* Extract node movement to node-container, make nodes pure
Extracted node chart elements into own components
Keep control objects immutable while in components
Keep layout state objects alive
Made other components pure, removed mixin from stateless components
Remove font size adjustment from scaling
Fix zoomscale
Move node transform to node
* makes more sense there because the coords are rounded in the container
dynamic coords precision based on topology size
Make edge points immutable
Remove nodes maximum for layout engine
Dont send all canvas state down to next component
moving layout handling back to nodes-chart.js
Omit some props for edges/nodes, dont animate edges on low precision
Moved AppStore access out of lower components
- '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.
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)
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)
- 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
- Also added linter configuration, and make linter fail on error
- fixing ES6 errors and added ES6 transformer
- gulp target to try local build
- linted gulpfile
- cant hook into gulp lint yet, because gulp does currently not support
ES6 which some rules demand, since gulp cant transpile itself, we have a
chicken and egg problem.
- ES6 transpiler for test runner
- removed old linter config
- adapted editorconfig to reflect linter config