Commit Graph

125 Commits

Author SHA1 Message Date
Filip Barl
478e325755 Resolved dependency cycle between actions and web utils 2019-08-02 20:02:30 +02:00
Filip Barl
c2fa42f514 Resolved router utils dependency cycle 2019-08-02 15:31:19 +02:00
Daniel Holbach
a494f00964 run 'eslint app server.js --fix' 2019-08-01 08:39:42 +02:00
Filip Barl
019ab0ff80 Update some node deps. 2019-03-26 12:01:58 +01:00
guyfedwards
272b9a5d6a add eslint sort-keys rule and run codemod 2019-01-09 13:59:15 +00:00
Filip Barl
eb767ed280 Add onRouteChange hook to Scope app. 2018-09-17 12:45:43 +02:00
Filip Barl
3c6cced4d3 Use new Search component. 2018-09-04 14:11:50 +02:00
Simon Howe
3791198edc Adds a scope-cmp prop to disable storing the view state in localStorage
- Scope will forget where it was last opened.
2018-08-23 15:44:33 +02:00
Filip Barl
7d85ed6a74 Got rid of all NodeDetailsImageStatus code and replaced it with renderNodeDetailsExtras function. 2018-06-29 12:02:48 +02:00
Filip Barl
f49770c062 Support TimeTravel injection. 2018-06-26 16:39:50 +02:00
Roberto Bruggemann
d6c2e96e34 Dispatch 'Monitor' flag render function (#3072)
Adds update of monitor availability when it appears/disappears.
The constructor is only called once at the beginning.
2018-02-26 22:50:58 +00:00
Roberto Bruggemann
72255468c1 Disable detail panel link
The link is disabled if the `monitor` flag is not true.
If Weave Cloud runs without Monitor, the link is dead. The flag allows to pass Weave Cloud's Monitor state down to Scope.
2018-02-15 17:22:18 +00:00
Filip Barl
165f3be2b4 Always show time travel. 2018-02-12 13:38:36 +01:00
Filip Barl
acfe66c6fe Stop page router on App unmount. 2018-01-17 15:42:03 +01:00
Filip Barl
892b2326d6 Use firstSeenConnectAt for earliestTimestamp in Time Travel. 2017-10-27 15:04:26 +02:00
Filip Barl
397b839678 Removed all legacy TimeTravel code. 2017-10-20 11:50:40 +02:00
Filip Barl
770c58a97b Using TimeTravel from ui-components repo. 2017-10-20 11:50:40 +02:00
Filip Barl
d81e50d418 Fix DOM closing tag location. 2017-10-17 19:07:52 +02:00
Filip Barl
2fcbdb7e16 Applied autofix for object-curly-newline rule. 2017-10-17 19:07:14 +02:00
Filip Barl
58922730f5 Fixed function-paren-newline. 2017-10-17 19:04:41 +02:00
Filip Barl
8a5eb637a6 Inject ui-components Theme into App component. 2017-10-16 16:26:50 +02:00
Damien Lespiau
a205f6ecb7 tracking: Rename trackMixpanelEvent() to trackAnalyticsEvent()
Might as well not mention Mixpanel now that we're sending all events to
Segment.

Commit done with:

  git grep trackMixpanelEvent | cut -d : -f 1 | sort -u | \
	xargs sed -e s/trackMixpanelEvent/trackAnalyticsEvent/g
2017-09-25 13:57:00 +01:00
Filip Barl
8f2d47ce4e Time travel redesign (#2651)
* Initial top level control.

* Added the jump buttons.

* Tiny styling adjustments.

* Massive renaming.

* Pause info

* Added slider marks.

* Improved messaging.

* Freeze all updates when paused.

* Repositioned for Configure button.

* Improved the flow.

* Working browsing through slider.

* Small styling.

* Hide time travel button behind the feature flag.

* Fixed actions.

* Elements positioning corner cases.

* Removed nodes delta buffering code.

* Fixed the flow.

* Fixed almost all API call cases.

* Final touches

* Fixed the tests.

* Fix resource view updates when time travelling.

* Added some comments.

* Addressed some of @foot's comments.
2017-07-06 16:06:55 +02:00
Filip Barl
eb64d3f09b Make API calls with time travel timestamp (#2600)
* Node details fetching reports at proper timestamp.

* Corrected all the relevant timestamps in the UI.

* Renamed some state variables.

* Time travel works for topologies list.

* Added a whole screen overlay for time travel.

* Polished the backend.

* Make time travel work also with the Resource View.

* Fixed the jest tests.

* Fixed the empty view message for resource view.

* Some naming polishing.

* Addressed the comments.
2017-06-20 12:31:22 +02:00
Filip Barl
b6dfe25499 Time travel control (#2524)
* Hacky working prototype.

* Operate with time.Duration offset instead of fixed timestamp.

* Polished the backend code.

* Made a nicer UI component.

* Small refactorings of the websockets code.

* Fixed the backend tests.

* Better websocketing and smoother transitions

* Small styling refactoring.

* Detecting empty topologies.

* Improved error messaging.

* Addressed some of David's comments.

* Moved nodesDeltaBuffer to a global state to fix the paused status rendering bug.

* Small styling changes

* Changed the websocket global state variables a bit.

* Polishing & refactoring.

* More polishing.

* Final refactoring.

* Addressed a couple of bugs.

* Hidden the timeline control behind Cloud context and a feature flag.

* Addressed most of @davkal's comments.

* Added mixpanel tracking.
2017-06-12 11:22:17 +02:00
Filip Barl
206a88df41 Calculate viewport dimensions from the scope-app div (#2473)
* Calculate viewport dimensions from the scope-app div.

* Addressed @foot's comments.
2017-04-27 15:36: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
23fb14d0be Polished the metric selection logic (#2468)
* Polished the metric selection code

* Fixed hovering advantage over pinning.
2017-04-26 16:18:42 +02:00
Filip Barl
c7bf7df975 Fixed view mode switching keyboard shortcuts (#2471)
* Replaced toggleGridMode with working actions.

* Addressed @foot's comment.
2017-04-26 14:26:47 +02: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
0f86ad1bed Prevent client polling after shutdown 2017-03-20 18:35:04 -07:00
jpellizzari
d775020794 Added logic to turn off network requests when Scope dismounts 2017-03-01 14:03:27 -08:00
Filip Barl
19202a2e44 Fixed the selectors performance leaks. 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
b9ba83ffca Moved the node networks computation to 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
Jordan Pellizzari
63dc4e1b3e Added dynamic contrast-mode toggle 2017-02-13 09:49:55 -08:00
jpellizzari
a6412f12b2 Scoped CSS classes inside .scope-app class 2017-01-24 11:33:20 -08:00
jpellizzari
62448ee7cb Added debugging/troubleshooting menu; Moved troubleshooting icons 2017-01-05 13:46:51 -08: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
fbarl
0cb48f6d71 Upgraded eslint, airbnb linting rules, and made trivial fixes 2016-12-12 10:55:45 +01:00
Jordan Pellizzari
ca49cfdfe6 Changed term.js lib to xterm.js 2016-10-27 15:23:02 -07:00
Simon Howe
288dff86bc Working nicely w/ flexbox etc. 2016-10-05 10:05:39 +02:00
Simon Howe
a1b8e963dc nodes-chart only re-rendered on prop updates!!! 2016-09-15 11:55:25 +02:00
David Kaltschmidt
38083b5965 Move grid selector to top menu
* move to top right, to bookend topologies
* hierarchically similar to search, so similar positioning

Fixes #1743
2016-08-04 14:49:28 +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
a2810afaf1 Fixes grid -> topo transition.
- Also don't show table borders when no nodes.
- 't' toggles table mode on/off, rather than 't'/v'
2016-08-03 08:51:07 +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