GUACAMOLE-1904: Add new events to allow children to open/close the client menu.
diff --git a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js
index 8cacc77..29860f2 100644
--- a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js
+++ b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js
@@ -468,8 +468,21 @@
else if (menuShownPreviousState)
$scope.applyParameterChanges($scope.focusedClient);
+ /* Broadcast changes to the menu display state */
+ $scope.$broadcast('guacMenuShown', menuShown);
+
});
+ // Toggle the menu when the guacClientToggleMenu event is received
+ $scope.$on('guacToggleMenu',
+ () => $scope.menu.shown = !$scope.menu.shown);
+
+ // Show the menu when the guacClientShowMenu event is received
+ $scope.$on('guacShowMenu', () => $scope.menu.shown = true);
+
+ // Hide the menu when the guacClientHideMenu event is received
+ $scope.$on('guacHideMenu', () => $scope.menu.shown = false);
+
// Automatically track and cache the currently-focused client
$scope.$on('guacClientFocused', function focusedClientChanged(event, newFocusedClient) {