Commit Graph

254 Commits

Author SHA1 Message Date
Roland Schilter
c3c23d7dd1 Add test for pods number not updating (#2741)
* Fix distance test for single node

* Add test for pods number not updating labels
2017-07-28 17:13:41 +02:00
Roland Schilter
00ddb51685 Fix Pods number in graph not updating (minor label) (#2728)
By only caching layout values (x, y, rank)

Fixes #2401.
2017-07-21 16:34:36 +02:00
Filip Barl
8f22d58cab Last line of defense against overlapping nodes in graph layout (#2688)
* Refresh the layout once more at the end if previous heuristics cause an overlap.

* Added mixpanel tracking.
2017-07-07 19:22:04 +02:00
jpellizzari
4f341cb1d2 Add new node shapes for k8s combined view
While we're there, adopt a consistent ordering for all places that shapes are listed
Order is least sides to most sides, with circle before polygons, and complex shapes (currently just Cloud) after.

On shape choices for topologies:
* Since the k8s logo is a heptagon, we want pods to be heptagons.
* Since triangle is 'a bit weird', we put it on the least-important type, replica sets.
* Pentagons look a little weirder than octogons (it's the lack of symmetry) so we put octogons on the most common (deployments)
2017-06-27 10:19:04 -07:00
Filip Barl
36ee5db1da Improved rendering order of nodes/edges in Graph View (#2623)
* Rendering both nodes and edges from one component.

* Organized the render layers in a more readable manner.

* Rerendering optimization.

* Finer edge rendering layers.

* Moved the constants out of the component file.

* Typo fix.

* Include edge thickness in <Motion /> instead of fade-in effect.
2017-06-22 11:58:31 +02:00
Filip Barl
0869d26ec4 Moved highlighted nodes/edges info to selectors (#2584)
* Use selector for highlighted nodes.

* Use selector for highlighted edges.
2017-06-14 11:11:59 +02:00
Filip Barl
5935a32d0a Canvas zoom control (#2513)
* Added a zoom slider control in the bottom-right corner.

* Made the control vertical and added the buttons.

* Adjusted the styles and borders.

* Trying to fix Webpack

* Hide zoom control when there is no content.

* Polished the code.
2017-05-15 11:49:12 +02:00
Filip Barl
6d270fe78b Fix arrow heads positioning (#2505)
* Fix arrow heads positioning.

* Addressed @foot's comment.

* Beautified the code and added some comments.
2017-05-12 10:39:22 +02:00
Filip Barl
65b9b48b53 Added mixpanel tracking for some basic events (#2462)
* Added mixpanel tracking for bunch of events.

* Changed hitEnter action to pinSearch.

* Moved all the event tracking out of app-actions.js

* Addressed @foot's comment.

* Added more keypress events tracking.

* Disable 'r' keyboard shortcut when Resource View is disabled
2017-04-27 14:26:07 +02:00
Filip Barl
7c22c97382 Fix node highlight for all shapes (#2430)
* Render highlight with strokes & use non-scaled highlight for stacks.

* Reverted part of the changes made to node stack highlighting.
2017-04-11 09:11:31 +02:00
Filip Barl
82e373777a Increase cloud node thickness in graph view (#2418)
* Unified node shapes rendering templates.

* Addressed @foot's comments (fix shadow thickness across all shapes).

* Made getClipPathDefinition slightly more readable.
2017-04-06 14:44:52 +02:00
Filip Barl
60629d3325 Fix the click origin of the details panel in the table mode. (#2423) 2017-04-05 16:27:42 +02:00
Filip Barl
43720bd7c7 Show sublabel in tooltip for Internet nodes in table view mode (#2410)
* Show sublabel in tooltip for Internet nodes in table view.

* Improves fake internet node from debug-toolbar.
2017-03-28 16:42:17 +02:00
Jordan Pellizzari
066e80d60d Merge pull request #2382 from weaveworks/2378-nan-path
Add default values for edge waypoints
2017-03-27 14:31:17 -07:00
Filip Barl
69fd397217 Initial version of the resource view (#2296)
* 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
2017-03-24 14:51:53 +01:00
jpellizzari
950edf3b6f Added default values for edge waypoints 2017-03-23 11:18:34 -07:00
Jordan Pellizzari
c7f6a07838 Changed client tests to use EDGE_ID_SEPARATOR constant 2017-03-19 17:30:26 -07:00
jpellizzari
9b648834ee removed old marker code 2017-03-13 09:03:50 -07:00
jpellizzari
376e6f014e Added edge arrows 2017-03-10 12:10:51 -08:00
Filip Barl
f87909282f Removed the throb animation for search matching. 2017-03-06 12:53:45 +01:00
Filip Barl
19202a2e44 Fixed the selectors performance leaks. 2017-03-01 12:14:36 +01:00
Filip Barl
11ce5638c5 Moved nodes-chart-layout.
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.
2017-03-01 12:14:36 +01:00
jpellizzari
f2f474ac80 Change to load contrast theme dynamically 2017-02-21 10:29:43 -08:00
Filip Barl
e5c655aa88 Addressed the comments. 2017-02-20 11:10:44 +01:00
Filip Barl
6d0066cd38 Polished the selectors code and fixed failing tests. 2017-02-20 10:58:26 +01:00
Filip Barl
b9ba83ffca Moved the node networks computation to selectors. 2017-02-20 10:58:26 +01:00
Filip Barl
5bd8e8f690 Renamed 'subLabel' to 'labelMinor' and removed 'node_count' property. 2017-02-20 10:58:26 +01:00
Filip Barl
3987e95465 Moved the node layout metrics computation to selectors. 2017-02-20 10:58:26 +01:00
Filip Barl
2a54085c62 Node transformations done from NodeContainer. Put node searching logic in selectors. 2017-02-20 10:58:26 +01:00
jpellizzari
c9048d8661 Revert "Merge pull request #2204 from weaveworks/contrast-as-component"
This reverts commit 68e8cbf4f6, reversing
changes made to 00408b84e8.

Reverts bug where contrast mode is showing by default
2017-02-14 10:59:34 -08:00
jpellizzari
4e4848f3c4 Changed svg nodes to use contrastMode state 2017-02-13 09:49:55 -08:00
Filip Barl
df2193cd95 Fix rounded square node shadow radius 2017-02-08 18:41:46 +01:00
Filip Barl
c8c6dd84c2 Fixed the node stack display bug. 2017-02-08 18:25:05 +01:00
Filip Barl
2b4ba3239c Fixed the node labels bug on Firefox. 2017-02-03 17:06:53 +01:00
Filip Barl
c9ff15f7f3 Re-applied PR #2128 'Graph layout optimizations' 2017-02-03 16:59:25 +01:00
Filip Barl
8eaa12e680 Revert "Graph layout optimizations" 2017-02-02 11:42:12 +01:00
Filip Barl
c802c8c6c1 Addressed @foot's UI comments 2017-02-01 16:27:23 +01:00
Filip Barl
2a6308bf6c Split the zooming and layout logic in nodes-chart.js between a bunch of selectors 2017-02-01 16:27:23 +01:00
Filip Barl
632e3756c4 Optimized rendering of graph layout and zooming events 2017-02-01 16:27:23 +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
a1d1b49aeb Addressed @jpellizzari's comment 2016-12-12 11:23:09 +01:00
Filip Barl
71f44e8b70 Got rid of findDOMNode helper 2016-12-12 11:04:49 +01:00
Filip Barl
86d61cf0d6 Extracted 'static' methods outside of classes for the 'class-methods-use-this' lint rule 2016-12-12 11:04:15 +01:00
Filip Barl
776b4d72eb Applied no-mixed-operators linting rule 2016-12-12 11:03:16 +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
0cb48f6d71 Upgraded eslint, airbnb linting rules, and made trivial fixes 2016-12-12 10:55:45 +01:00
fbarl
524e2e2e9a Importing lodash util functions explicitly. 2016-12-09 14:03:31 +01:00
fbarl
e8eba61c37 Remove the dagre waypoints limitation for edges and replace it with WAYPOINTS_CAP constant for fine tunning (fix #1187) 2016-12-02 17:00:46 +01:00