Ensure connection parameters are updated when likely to be available (not just when group is attached).
@@ -452,8 +452,14 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
// Update client state/behavior as visibility of the Guacamole menu changes
$scope.$watch('menu.shown', function menuVisibilityChanged(menuShown, menuShownPreviousState) {
+ // Update available connection parameters, if there is a focused
+ // client
+ if (menuShown)
+ $scope.menu.connectionParameters = $scope.focusedClient ?
+ ManagedClient.getArgumentModel($scope.focusedClient) : {};
+
// Send any argument value data once menu is hidden
- if (!menuShown && menuShownPreviousState)
+ else if (menuShownPreviousState)
$scope.applyParameterChanges($scope.focusedClient);
});
@@ -464,15 +470,14 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams
var oldFocusedClient = $scope.focusedClient;
$scope.focusedClient = newFocusedClient;
+ // Ignore if focus is not actually changing
+ if (oldFocusedClient === newFocusedClient)
+ return;
+
// Apply any parameter changes when focus is changing
if (oldFocusedClient)
$scope.applyParameterChanges(oldFocusedClient);
- // Update available connection parameters, if there is a focused
- // client
- $scope.menu.connectionParameters = newFocusedClient ?
- ManagedClient.getArgumentModel(newFocusedClient) : {};
-
});
// Update page icon when thumbnail changes
