myems/admin/js/plugins/nggrid/src/directives/ng-viewport.js

31 lines
1.0 KiB
Python

ngGridDirectives.directive('ngViewport', [function() {
return function($scope, elm) {
var isMouseWheelActive;
var prevScollLeft;
var prevScollTop = 0;
elm.bind('scroll', function(evt) {
var scrollLeft = evt.target.scrollLeft,
scrollTop = evt.target.scrollTop;
if ($scope.$headerContainer) {
$scope.$headerContainer.scrollLeft(scrollLeft);
}
$scope.adjustScrollLeft(scrollLeft);
$scope.adjustScrollTop(scrollTop);
if (!$scope.$root.$$phase) {
$scope.$digest();
}
prevScollLeft = scrollLeft;
prevScollTop = prevScollTop;
isMouseWheelActive = false;
return true;
});
elm.bind("mousewheel DOMMouseScroll", function() {
isMouseWheelActive = true;
elm.focus();
return true;
});
if (!$scope.enableCellSelection) {
$scope.domAccessProvider.selectionHandlers($scope, elm);
}
};
}]);