Merge pull request #47 from glyptodon/disconnect-on-unload

GUAC-977: Automatically disconnect all connections when window/tab is closed.
This commit is contained in:
James Muehlner
2015-01-04 11:19:28 -08:00

View File

@@ -23,8 +23,14 @@
/** /**
* A service for managing several active Guacamole clients. * A service for managing several active Guacamole clients.
*/ */
angular.module('client').factory('guacClientManager', ['ManagedClient', angular.module('client').factory('guacClientManager', ['$injector',
function guacClientManager(ManagedClient) { function guacClientManager($injector) {
// Required types
var ManagedClient = $injector.get('ManagedClient');
// Required services
var $window = $injector.get('$window');
var service = {}; var service = {};
@@ -121,6 +127,15 @@ angular.module('client').factory('guacClientManager', ['ManagedClient',
}; };
// Disconnect all clients when window is unloaded
$window.addEventListener('unload', function disconnectAllClients() {
// Disconnect each managed client
for (var id in service.managedClients)
service.managedClients[id].client.disconnect();
});
return service; return service;
}]); }]);