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.
- 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.
- 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
Needs a bit of de-dup / customization
oops, bad typo
More fleshing out the structure for network-view
onHover netview-legend: highlight relevant nodes.
And the bool rolls on.
Handle nodes w/ no networks better
Corrects deselect-node when used w/ new network-view behaviour
Net view details "node" can be open when with no nodes selected. Hitting
"esc" from:
- card 0: network-a
- card 1: node-a
was not deselecting node-a
Deselect selectedNetwork correctly onEsc
Ooops, trailing ws breaks linting.
Adds NodeNetworksOverlay stub
Expands on NodeNetworksOverlay stub and adds arcs and colors
Expand and collapse networks legend
Open arc for network circle, shift for stack
Show our base hue range in the debug bar too..
Was trying to smooth out our hue selector but turned out to be tricky..
Uniquify random data generator!
* 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
* pauses topology and details panel updates
* buffers requests
* un-pause plays back the buffered requests
* automatically un-pauses when topology is changed, or other node is
clicked (then discards buffer)
Fixes#1025
* 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 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)
- term.js
- Add eslintignore
- Fix color and es2015 after rebase
- Fix JS test, probably deleted during conflict resolution
- Moves terminal close button to top-right of window
- Consitent w/ details window.
- Changes padding of details window close button so both close buttons
are horizonally aligned.
- Terminal resizes w/ browser window.
- No longer can drag window around.
- Add tiny big of padding between term and node-details.
- Playing w/ terminal placement. This one's more drawer-like.
- Send DELETE when we close a terminal window.
- Dont lint or bable JS vendor files
- Ignore ctags 'tags' files.
- Adds popping out terminal out into a new browser window.
- Simplify code as now we've just a single terminal window.
- ESC is back to close the terminal, then the details panel.
- Fixes bug w/ slow response to closing the details panel.
- Moving away from "drawer-style" for terminal size and position to a
simple window.
- Just gotta handle the case for refreshing a popped out terminal.
- Stop terminal text being auto-deselected.
- window resizes will still deselect.
- Adds state.connected to react.scu check.
- Don't delete pipe when browser closes
- To allow for nicer refresh flows
- scope-app will time out pipe after a while.
- Keep terminal-open/closed state in the url.
- shouldComponentUpdate fix to prevent deselection of text has been
rolled back so gotta come up w/ another way to handle that...
- Fixes terminal text-selection again.
- Make pipes work for non-raw terminals too.
- Move document.title updating somewhere more sensible.
- Pass rawTty prop along to all terminals.
- Don't render react root into doc.body
- Reconnect the websocket if we lose it.
- First, slightly rough, attempt at displaying if pipe has been deleted
- Refactor controlPipe structure in the AppStore/hash.
- Merge controlPipeId, controlPipeRaw, controlPipeStatus into a single object.
- Adds a status bar to the terminal window.
- Error handling in popout working again.
- Don't show terminal cursor when not connected.
- Simplify controlPipe status and error handling.
- Don't keep the status in the hash.
- Use special new action receiveControlPipeFromParams rather than
adding lots of branching to receiveControlPipe.
- You can reload a terminal but it doesn't exist in history stack.
- Pull out terminal into its own entry point!
- Fixes prod webpack build
- Fixes terminal-app websocket path when running on prod.
- Fixes old terminals appearing when closing a terminal.
- History hacking wasn't working, this is a little simpler.
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
- fix nodes reset after topology option change
- set topology on click
- explicitly set default topology options
- set default topo options when topos are received
- prevent JS error on too many nodes layout abort