mirror of
https://github.com/ansible/awx.git
synced 2024-11-01 16:51:11 +03:00
Adding wanted js libraries
This commit is contained in:
parent
239e01cb16
commit
f64ae5afdb
45
awx/ui/static/lib/lrInfiniteScroll/lrInfiniteScroll.js
Normal file
45
awx/ui/static/lib/lrInfiniteScroll/lrInfiniteScroll.js
Normal file
@ -0,0 +1,45 @@
|
||||
(function (ng) {
|
||||
'use strict';
|
||||
var module = ng.module('lrInfiniteScroll', []);
|
||||
|
||||
module.directive('lrInfiniteScroll', ['$timeout', function (timeout) {
|
||||
return{
|
||||
link: function (scope, element, attr) {
|
||||
var
|
||||
lengthThreshold = attr.scrollThreshold || 50,
|
||||
timeThreshold = attr.timeThreshold || 400,
|
||||
direction = attr.direction || 'down',
|
||||
handler = scope.$eval(attr.lrInfiniteScroll),
|
||||
promise = null,
|
||||
lastRemaining = 9999;
|
||||
|
||||
lengthThreshold = parseInt(lengthThreshold, 10);
|
||||
timeThreshold = parseInt(timeThreshold, 10);
|
||||
|
||||
if (!handler || !ng.isFunction(handler)) {
|
||||
handler = ng.noop;
|
||||
}
|
||||
|
||||
element.bind('scroll', function () {
|
||||
var remaining =
|
||||
(direction === 'down') ? element[0].scrollHeight - (element[0].clientHeight + element[0].scrollTop) : element[0].scrollTop;
|
||||
|
||||
//if we have reached the threshold and we scroll down
|
||||
if ((direction === 'down' && remaining < lengthThreshold && (remaining - lastRemaining) < 0) ||
|
||||
direction === 'up' && remaining < lengthThreshold) {
|
||||
//if there is already a timer running which has not expired yet we have to cancel it and restart the timer
|
||||
if (promise !== null) {
|
||||
timeout.cancel(promise);
|
||||
}
|
||||
promise = timeout(function () {
|
||||
handler();
|
||||
promise = null;
|
||||
}, timeThreshold);
|
||||
}
|
||||
lastRemaining = remaining;
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
}]);
|
||||
})(angular);
|
Loading…
Reference in New Issue
Block a user