* Added resource view selector button
* Showing resource boxes in the resource view
* Crude CPU resource view prototype
* Improved the viewMode state logic
* Extracted zooming into a separate wrapper component
* Split the layout selectors between graph-view and resource-view
* Proper zooming logic for the resource view
* Moved all node networks utils to selectors
* Improved the zoom caching logic
* Further refactoring of selectors
* Added sticky labels to the resource boxes
* Added panning translation limits in the resource view
* Renamed GridModeSelector -> ViewModeSelector
* Polished the topology resource view selection logic
* Search bar hidden in the resource view
* Added per-layer topology names to the resource view
* Made metric selectors work for the resource view
* Adjusted the viewport selectors
* Renamed viewport selector to canvas (+ maximal zoom fix)
* Showing more useful metric info in the resource box labels
* Fetching only necessary nodes for the resource view
* Refactored the resource view layer component
* Addressed first batch UI comments (from the Scope meeting)
* Switch to deep zooming transform in the resource view to avoid SVG precision errors
* Renamed and moved resource view components
* Polished all the resource view components
* Changing the available metrics selection
* Improved and polished the state transition logic for the resource view
* Separated zoom limits from the zoom active state
* Renaming and bunch of comments
* Addressed all the UI comments (@davkal + @fons)
* Made graph view selectors independent from resource view selectors
Moved nodes-chart-zoom.
Moved zoomCache to global state.
Moved nodes-chart-focus.
Fixed some bugs and polished the code.
Keeping track of topology options in zoomCache.
Fixed forceRelayout and circular layout.
Unified graph complexity heuristic criterion.
(was the removal of :id from the node objects)
Only show errors in webpack output!
Tidying up
More tidying
more tidying
More fiddling around
wip
wip
wip
Fixes forceLayout
rm console.log
- 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
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
* new button in footer
* when clicked, forces a relayout that could help with degraded graphs
* sets a store flag that will be unset on next nodes delta update
* fixes#863
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)
* 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
- 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