mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
Merge pull request #171 from glyptodon/fix-digest
GUAC-587: Fix gratuitous $digest() from unnecessary $interval use.
This commit is contained in:
@@ -31,8 +31,12 @@ angular.module('client').directive('guacViewport', [function guacViewport() {
|
|||||||
scope: {},
|
scope: {},
|
||||||
transclude: true,
|
transclude: true,
|
||||||
templateUrl: 'app/client/templates/guacViewport.html',
|
templateUrl: 'app/client/templates/guacViewport.html',
|
||||||
controller: ['$scope', '$interval', '$window', '$document', '$element',
|
controller: ['$scope', '$injector', '$element',
|
||||||
function guacViewportController($scope, $interval, $window, $document, $element) {
|
function guacViewportController($scope, $injector, $element) {
|
||||||
|
|
||||||
|
// Required services
|
||||||
|
var $window = $injector.get('$window');
|
||||||
|
var $document = $injector.get('$document');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The fullscreen container element.
|
* The fullscreen container element.
|
||||||
@@ -94,14 +98,14 @@ angular.module('client').directive('guacViewport', [function guacViewport() {
|
|||||||
$window.addEventListener('scroll', fitVisibleArea);
|
$window.addEventListener('scroll', fitVisibleArea);
|
||||||
|
|
||||||
// Poll every 10ms, in case scroll event does not fire
|
// Poll every 10ms, in case scroll event does not fire
|
||||||
var pollArea = $interval(fitVisibleArea, 10);
|
var pollArea = $window.setInterval(fitVisibleArea, 10);
|
||||||
|
|
||||||
// Clean up on destruction
|
// Clean up on destruction
|
||||||
$scope.$on('$destroy', function destroyViewport() {
|
$scope.$on('$destroy', function destroyViewport() {
|
||||||
$window.removeEventListener('scroll', fitVisibleArea);
|
$window.removeEventListener('scroll', fitVisibleArea);
|
||||||
$interval.cancel(pollArea);
|
$window.clearInterval(pollArea);
|
||||||
});
|
});
|
||||||
|
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
}]);
|
}]);
|
||||||
|
Reference in New Issue
Block a user