Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular-ui-scroll

Package Overview
Dependencies
Maintainers
3
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-ui-scroll - npm Package Compare versions

Comparing version 1.8.1 to 1.8.2

2

bower.json
{
"name": "angular-ui-scroll",
"description": "AngularJS infinite scrolling module",
"version": "1.8.1",
"version": "1.8.2",
"main": "./dist/ui-scroll.js",

@@ -6,0 +6,0 @@ "homepage": "https://github.com/angular-ui/ui-scroll.git",

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ var app = angular.module('application', ['ui.scroll', 'server']);

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ngAnimate']).controller('mainController', [

@@ -0,0 +0,0 @@ var app = angular.module('application', ['ui.scroll', 'server']);

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll']).controller('mainController', [

@@ -0,0 +0,0 @@ var app = angular.module('application', ['ui.scroll']);

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll']).controller('mainController', [

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ui.scroll.grid', 'dnd'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ui.scroll.grid'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ui.scroll.grid'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ui.scroll.grid'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll', 'ui.scroll.grid'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll']).factory('datasource', [

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll'])

@@ -0,0 +0,0 @@ angular.module('application', ['ui.scroll']).factory('datasource', [

/*!
* angular-ui-scroll
* https://github.com/angular-ui/ui-scroll
* Version: 1.8.1 -- 2020-05-13T13:54:15.842Z
* Version: 1.8.2 -- 2020-10-02T15:06:03.904Z
* License: MIT

@@ -6,0 +6,0 @@ */

@@ -1,12 +0,1 @@

/*!
* angular-ui-scroll
* https://github.com/angular-ui/ui-scroll.git
* This module is deprecated since 1.6.0 and will be removed in future versions!
* License: MIT
*/
(function () {
'use strict';
angular.module('ui.scroll.jqlite', []);
})();
!function(){"use strict";angular.module("ui.scroll.jqlite",[])}();
/*!
* angular-ui-scroll
* https://github.com/angular-ui/ui-scroll
* Version: 1.8.1 -- 2020-05-13T13:54:15.842Z
* Version: 1.8.2 -- 2020-10-02T15:06:03.904Z
* License: MIT

@@ -512,3 +512,12 @@ */

// CONCATENATED MODULE: ./src/modules/utils.js
var OPERATIONS = {
PREPEND: 'prepend',
APPEND: 'append',
INSERT: 'insert',
REMOVE: 'remove',
NONE: 'none'
};
// CONCATENATED MODULE: ./src/modules/buffer.js
function ScrollBuffer(elementRoutines, bufferSize, startIndex) {

@@ -532,3 +541,3 @@ var buffer = Object.create(Array.prototype);

++buffer.next;
buffer.insert('append', item);
buffer.insert(OPERATIONS.APPEND, item);
});

@@ -545,3 +554,3 @@ buffer.maxIndex = buffer.eof ? buffer.next - 1 : Math.max(buffer.next - 1, buffer.maxIndex);

buffer.insert('prepend', item);
buffer.insert(OPERATIONS.PREPEND, item);
});

@@ -555,5 +564,5 @@ buffer.minIndex = buffer.bof ? buffer.minIndex = buffer.first : Math.min(buffer.first, buffer.minIndex);

* for insert the number is the index for the buffer element the new one have to be inserted after
* operations: 'append', 'prepend', 'insert', 'remove', 'update', 'none'
* operations: 'append', 'prepend', 'insert', 'remove', 'none'
*/
insert: function insert(operation, item, isTop) {
insert: function insert(operation, item, shiftTop) {
var wrapper = {

@@ -565,6 +574,6 @@ item: item

// it is an insert
wrapper.op = 'insert';
wrapper.op = OPERATIONS.INSERT;
buffer.splice(operation, 0, wrapper);
if (isTop) {
if (shiftTop) {
buffer.first--;

@@ -578,7 +587,7 @@ } else {

switch (operation) {
case 'append':
case OPERATIONS.APPEND:
buffer.push(wrapper);
break;
case 'prepend':
case OPERATIONS.PREPEND:
buffer.unshift(wrapper);

@@ -598,3 +607,3 @@ break;

return buffer.splice(arg1, arg2 - arg1);
} // removes single item(wrapper) from the buffer
} // removes single item (wrapper) from the buffer

@@ -604,3 +613,3 @@

if (arg1._op === 'isTop' && buffer.first === this.getAbsMinIndex()) {
if (arg1.shiftTop && buffer.first === this.getAbsMinIndex()) {
this.incrementMinIndex();

@@ -611,3 +620,3 @@ } else {

if (arg1._op === 'isTop') {
if (arg1.shiftTop) {
buffer.first++;

@@ -619,4 +628,3 @@ } else {

if (!buffer.length) {
buffer.first = 1;
buffer.next = 1;
buffer.minIndex = Math.min(buffer.maxIndex, buffer.minIndex);
}

@@ -679,3 +687,3 @@

return buffer.filter(function (item) {
return item.op === 'none';
return item.op === OPERATIONS.NONE;
});

@@ -741,5 +749,5 @@ },

key: "remove",
value: function remove(argument, _isTop) {
value: function remove(argument, _shiftTop) {
var index = argument % 1 === 0 ? argument : argument.scope.$index;
var isTop = argument % 1 === 0 ? _isTop : argument._op === 'isTop';
var shiftTop = argument % 1 === 0 ? _shiftTop : argument.shiftTop;

@@ -753,3 +761,3 @@ for (var i = this.length - 1; i >= 0; i--) {

if (!isTop) {
if (!shiftTop) {
for (var _i = this.length - 1; _i >= 0; _i--) {

@@ -1031,5 +1039,5 @@ if (this[_i].index > index) {

},
removeCacheItem: function removeCacheItem(item, isTop) {
topPadding.cache.remove(item, isTop);
bottomPadding.cache.remove(item, isTop);
removeCacheItem: function removeCacheItem(item, shiftTop) {
topPadding.cache.remove(item, shiftTop);
bottomPadding.cache.remove(item, shiftTop);
},

@@ -1050,3 +1058,5 @@ removeItem: function removeItem(item) {

var Adapter =
var adapter_Adapter =
/*#__PURE__*/

@@ -1257,6 +1267,9 @@ function () {

})) {
wrapper.op = 'remove';
wrapper.op = OPERATIONS.REMOVE; // try to catch "first" edge case on remove
if (!options.immutableTop && position === 0 && !newItems.length) {
wrapper._op = 'isTop'; // to catch "first" edge case on remove
if (!options.immutableTop && !newItems.length) {
// this is the first item, or the previous one's part of the "shift-top" group
if (position === 0 && this.buffer.bof || position !== 0 && this.buffer[position - 1].shiftTop) {
wrapper.shiftTop = true;
}
}

@@ -1269,3 +1282,3 @@ }

} else {
// 3 parameter (isTop) is to catch "first" edge case on insert
// 3 parameter (shiftTop) is to catch "first" edge case on insert
_this3.buffer.insert(position + 1, newItem, !options.immutableTop && position === -1);

@@ -1337,3 +1350,3 @@ }

/* harmony default export */ var modules_adapter = (Adapter);
/* harmony default export */ var modules_adapter = (adapter_Adapter);
// CONCATENATED MODULE: ./src/ui-scroll.js

@@ -1345,2 +1358,3 @@

angular.module('ui.scroll', []).constant('JQLiteExtras', jqLiteExtras_JQLiteExtras).run(['JQLiteExtras', function (JQLiteExtras) {

@@ -1669,19 +1683,19 @@ var elt = angular.element;

switch (wrapper.op) {
case 'prepend':
case OPERATIONS.PREPEND:
toBePrepended.unshift(wrapper);
break;
case 'append':
case OPERATIONS.APPEND:
insertWrapperContent(wrapper, i);
wrapper.op = 'none';
wrapper.op = OPERATIONS.NONE;
inserted.push(wrapper);
break;
case 'insert':
case OPERATIONS.INSERT:
promises = promises.concat(createElement(wrapper, i, viewport.insertElementAnimated));
wrapper.op = 'none';
wrapper.op = OPERATIONS.NONE;
inserted.push(wrapper);
break;
case 'remove':
case OPERATIONS.REMOVE:
toBeRemoved.push(wrapper);

@@ -1695,3 +1709,3 @@ }

insertWrapperContent(wrapper);
wrapper.op = 'none';
wrapper.op = OPERATIONS.NONE;
});

@@ -1698,0 +1712,0 @@ buffer.forEach(function (item, i) {

@@ -1,2 +0,2 @@

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([,function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t);var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,o;return t=e,(n=[{key:"registerFor",value:function(e){var t,n,i,o;function a(e,t,n){var i=e[0],a=r({top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[t],3),u=a[0],s=a[1],l=a[2],c=void 0!==n;return o(i)?c?i.scrollTo(e[l].call(e),n):s in i?i[s]:i.document.documentElement[u]:(c&&(i[u]=n),i[u])}function u(e,n,a){var u,s=function(e,n){var a,u,s,l,c,f,h,d,p,m;if(o(e))return{base:a=document.documentElement[{height:"clientHeight",width:"clientWidth"}[n]],padding:0,border:0,margin:0};var g=r({width:[e.offsetWidth,"Left","Right"],height:[e.offsetHeight,"Top","Bottom"]}[n],3);return a=g[0],h=g[1],d=g[2],f=i(e),p=t(e,f["padding"+h])||0,m=t(e,f["padding"+d])||0,u=t(e,f["border"+h+"Width"])||0,s=t(e,f["border"+d+"Width"])||0,l=f["margin"+h],c=f["margin"+d],{base:a,padding:p+m,border:u+s,margin:(t(e,l)||0)+(t(e,c)||0)}}(e,n);return s.base>0?{base:s.base-s.padding-s.border,outer:s.base,outerfull:s.base+s.margin}[a]:(((u=i(e)[n])<0||null===u)&&(u=e.style[n]||0),{base:(u=parseFloat(u)||0)-s.padding-s.border,outer:u,outerfull:u+s.padding+s.border+s.margin}[a])}return n=angular.element.prototype.css,e.prototype.css=function(e,t){var r=this[0];if(r&&3!==r.nodeType&&8!==r.nodeType&&r.style)return n.call(this,e,t)},o=function(e){return e&&e.document&&e.location&&e.alert&&e.setInterval},window.getComputedStyle?(i=function(e){return window.getComputedStyle(e,null)},t=function(e,t){return parseFloat(t)}):(i=function(e){return e.currentStyle},t=function(e,t){var n,r,i,o,a;return new RegExp("^("+/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source+")(?!px)[a-z%]+$","i").test(t)?(n=(a=e.style).left,o=(i=e.runtimeStyle)&&i.left,i&&(i.left=a.left),a.left=t,r=a.pixelLeft,a.left=n,o&&(i.left=o),r):parseFloat(t)}),angular.forEach({before:function(e){var t,n,r,i,o,a;if(n=this[0],(t=(o=this.parent()).contents())[0]===n)return o.prepend(e);for(r=i=1,a=t.length-1;1<=a?i<=a:i>=a;r=1<=a?++i:--i)if(t[r]===n)return void angular.element(t[r-1]).after(e);throw new Error("invalid DOM structure "+n.outerHTML)},height:function(e){return void 0!==e?(angular.isNumber(e)&&(e+="px"),n.call(this,"height",e)):u(this[0],"height","base")},outerHeight:function(e){return u(this[0],"height",e?"outerfull":"outer")},outerWidth:function(e){return u(this[0],"width",e?"outerfull":"outer")},offset:function(e){var t,n,r=this,i={top:0,left:0},o=r[0],a=o&&o.ownerDocument;if(arguments.length){if(void 0===e)return r;throw new Error("offset setter method is not implemented")}if(a)return t=a.documentElement,null!=o.getBoundingClientRect&&(i=o.getBoundingClientRect()),n=a.defaultView||a.parentWindow,{top:i.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:i.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}},scrollTop:function(e){return a(this,"top",e)},scrollLeft:function(e){return a(this,"left",e)}},(function(t,n){if(!e.prototype[n])return e.prototype[n]=t}))}}])&&i(t.prototype,n),o&&i(t,o),e}();function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}var s=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$animate=t.has&&t.has("$animate")?t.get("$animate"):null,this.isAngularVersionLessThen1_3=1===angular.version.major&&angular.version.minor<3,this.$q=n}return u(e,null,[{key:"addCSSRules",value:function(){var e,t=document.styleSheets[0];try{e=t.cssRules.length}catch(t){e=0}"insertRule"in t?t.insertRule(".ng-ui-scroll-hide{display: none}",e):"addRule"in t&&t.addRule(".ng-ui-scroll-hide","display: none",e)}}]),u(e,[{key:"hideElement",value:function(e){e.element.addClass("ng-ui-scroll-hide")}},{key:"showElement",value:function(e){e.element.removeClass("ng-ui-scroll-hide")}},{key:"insertElement",value:function(e,t){return t.after(e),[]}},{key:"removeElement",value:function(e){return e.element.remove(),e.scope.$destroy(),[]}},{key:"insertElementAnimated",value:function(e,t){if(!this.$animate)return this.insertElement(e,t);if(this.isAngularVersionLessThen1_3){var n=this.$q.defer();return this.$animate.enter(e,null,t,(function(){return n.resolve()})),[n.promise]}return[this.$animate.enter(e,null,t)]}},{key:"removeElementAnimated",value:function(e){if(!this.$animate)return this.removeElement(e);if(this.isAngularVersionLessThen1_3){var t=this.$q.defer();return this.$animate.leave(e.element,(function(){return e.scope.$destroy(),t.resolve()})),[t.promise]}return[this.$animate.leave(e.element).then((function(){return e.scope.$destroy()}))]}}]),e}();function l(e,t,n){var r=Object.create(Array.prototype);return angular.extend(r,{size:t,reset:function(e){r.remove(0,r.length),r.eof=!1,r.bof=!1,r.first=e,r.next=e,r.minIndex=e,r.maxIndex=e,r.minIndexUser=null,r.maxIndexUser=null},append:function(e){e.forEach((function(e){++r.next,r.insert("append",e)})),r.maxIndex=r.eof?r.next-1:Math.max(r.next-1,r.maxIndex)},prepend:function(e,t){e.reverse().forEach((function(e){t?++r.next:--r.first,r.insert("prepend",e)})),r.minIndex=r.bof?r.minIndex=r.first:Math.min(r.first,r.minIndex)},insert:function(e,t,n){var i={item:t};if(e%1==0)i.op="insert",r.splice(e,0,i),n?r.first--:r.next++;else switch(i.op=e,e){case"append":r.push(i);break;case"prepend":r.unshift(i)}},remove:function(t,n){if(angular.isNumber(t)){for(var i=t;i<n;i++)e.removeElement(r[i]);return r.splice(t,n-t)}return r.splice(r.indexOf(t),1),"isTop"===t._op&&r.first===this.getAbsMinIndex()?this.incrementMinIndex():this.decrementMaxIndex(),"isTop"===t._op?r.first++:r.next--,r.length||(r.first=1,r.next=1),e.removeElementAnimated(t)},incrementMinIndex:function(){if(null!==r.minIndexUser){if(r.minIndex>r.minIndexUser)return void r.minIndexUser++;r.minIndex===r.minIndexUser&&r.minIndexUser++}r.minIndex++},decrementMaxIndex:function(){null!==r.maxIndexUser&&r.maxIndex<=r.maxIndexUser&&r.maxIndexUser--,r.maxIndex--},getAbsMinIndex:function(){return null!==r.minIndexUser?Math.min(r.minIndexUser,r.minIndex):r.minIndex},getAbsMaxIndex:function(){return null!==r.maxIndexUser?Math.max(r.maxIndexUser,r.maxIndex):r.maxIndex},effectiveHeight:function(e){if(!e.length)return 0;var t=Number.MAX_VALUE,n=Number.NEGATIVE_INFINITY;return e.forEach((function(e){e.element[0].offsetParent&&(t=Math.min(t,e.element.offset().top),n=Math.max(n,e.element.offset().top+e.element.outerHeight(!0)))})),Math.max(0,n-t)},getItems:function(){return r.filter((function(e){return"none"===e.op}))},getFirstItem:function(){var e=r.getItems();return e.length?e[0].item:null},getLastItem:function(){var e=r.getItems();return e.length?e[e.length-1].item:null}}),r.reset(n),r}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t,n){return t&&f(e.prototype,t),n&&f(e,n),e}var d=function(){function e(){c(this,e)}return h(e,[{key:"add",value:function(e){for(var t=this.length-1;t>=0;t--)if(this[t].index===e.scope.$index)return void(this[t].height=e.element.outerHeight());this.push({index:e.scope.$index,height:e.element.outerHeight()}),this.sort((function(e,t){return e.index<t.index?-1:e.index>t.index?1:0}))}},{key:"remove",value:function(e,t){for(var n=e%1==0?e:e.scope.$index,r=e%1==0?t:"isTop"===e._op,i=this.length-1;i>=0;i--)if(this[i].index===n){this.splice(i,1);break}if(!r)for(var o=this.length-1;o>=0;o--)this[o].index>n&&this[o].index--}},{key:"clear",value:function(){this.length=0}}]),e}();function p(){var e=[];return e.push.apply(e,arguments),Object.setPrototypeOf(e,p.prototype),e}p.prototype=Object.create(Array.prototype),Object.getOwnPropertyNames(d.prototype).forEach((function(e){return p.prototype[e]=d.prototype[e]}));var m=function(){function e(t){c(this,e),this.element=function(e){if(e.nodeType!==Node.ELEMENT_NODE)throw new Error("ui-scroll directive requires an Element node for templating the view");var t;switch(e.tagName.toLowerCase()){case"dl":throw new Error("ui-scroll directive does not support <".concat(e.tagName,"> as a repeating tag: ").concat(e.outerHTML));case"tr":t=angular.element("<table><tr><td><div></div></td></tr></table>").find("tr");break;case"li":t=angular.element("<li></li>");break;default:t=angular.element("<div></div>")}return t}(t),this.cache=new p}return h(e,[{key:"height",value:function(){return this.element.height.apply(this.element,arguments)}}]),e}();function g(e,t,n,r,i,o){var a=null,u=null,s=r&&r.viewport?r.viewport:angular.element(window),l=r&&r.container?r.container:void 0,c=r&&r.scope?r.scope:i;function f(){return s.outerHeight()*o}return s.css({"overflow-anchor":"none","overflow-y":"auto",display:"block"}),angular.extend(s,{getScope:function(){return c},createPaddingElements:function(e){a=new m(e),u=new m(e),n.before(a.element),n.after(u.element),a.height(0),u.height(0)},applyContainerStyle:function(){return!l||(l!==s&&s.css("height",window.getComputedStyle(l[0]).height),s.height()>0)},bottomDataPos:function(){var e=s[0].scrollHeight;return(e=null!=e?e:s[0].document.documentElement.scrollHeight)-u.height()},topDataPos:function(){return a.height()},bottomVisiblePos:function(){return s.scrollTop()+s.outerHeight()},topVisiblePos:function(){return s.scrollTop()},insertElement:function(t,n){return e.insertElement(t,n||a.element)},insertElementAnimated:function(t,n){return e.insertElementAnimated(t,n||a.element)},shouldLoadBottom:function(){return!t.eof&&s.bottomDataPos()<s.bottomVisiblePos()+f()},clipBottom:function(){for(var e=0,n=0,r=0,i=s.bottomDataPos()-s.bottomVisiblePos()-f(),o=t.length-1;o>=0&&!(n+(r=t[o].element.outerHeight(!0))>i);o--)u.cache.add(t[o]),n+=r,e++;e>0&&(t.eof=!1,t.remove(t.length-e,t.length),t.next-=e,s.adjustPaddings())},shouldLoadTop:function(){return!t.bof&&s.topDataPos()>s.topVisiblePos()-f()},clipTop:function(){for(var e=0,n=0,r=0,i=s.topVisiblePos()-s.topDataPos()-f(),o=0;o<t.length&&!(n+(r=t[o].element.outerHeight(!0))>i);o++)a.cache.add(t[o]),n+=r,e++;e>0&&(a.height(a.height()+n),t.bof=!1,t.remove(0,e),t.first+=e)},adjustPaddings:function(){if(t.length){var e=t.reduce((function(e,t){return e+t.element.outerHeight(!0)}),0),n=0,r=0;a.cache.forEach((function(e){e.index<t.first&&(n+=e.height,r++)}));var i=0,o=0;u.cache.forEach((function(e){e.index>=t.next&&(i+=e.height,o++)}));var s=(e+n+i)/(r+o+t.length),l=null!==t.minIndexUser&&t.minIndex>t.minIndexUser,c=null!==t.maxIndexUser&&t.maxIndex<t.maxIndexUser,f=l?(t.minIndex-t.minIndexUser)*s:0,h=c?(t.maxIndexUser-t.maxIndex)*s:0;a.height(n+f),u.height(i+h)}},onAfterMinIndexSet:function(e){if(null!==t.minIndexUser&&t.minIndex>t.minIndexUser){var n=a.height()-e;for(s.scrollTop(s.scrollTop()+n);(n-=s.scrollTop())>0;)u.height(u.height()+n),s.scrollTop(s.scrollTop()+n)}},onAfterPrepend:function(e){if(e.prepended.length){var n=t.effectiveHeight(e.prepended),r=a.height()-n;if(r>=0)a.height(r);else{var i=s.scrollTop(),o=i-r;s.synthetic={previous:i,next:o},a.height(0),s.scrollTop(o)}}},resetTopPadding:function(){a.height(0),a.cache.clear()},resetBottomPadding:function(){u.height(0),u.cache.clear()},removeCacheItem:function(e,t){a.cache.remove(e,t),u.cache.remove(e,t)},removeItem:function(e){return this.removeCacheItem(e),t.remove(e)}}),s}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var b=function(){function e(t,n,r,i,o,a,u){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$parse=n,this.$attr=r,this.viewport=i,this.buffer=o,this.doAdjust=a,this.reload=u,this.isLoading=!1,this.disabled=!1;var s=i.getScope();this.startScope=s.$parent?s:t,this.publicContext={},this.assignAdapter(r.adapter),this.generatePublicContext()}var t,n,r;return t=e,(n=[{key:"assignAdapter",value:function(e){if(e&&(e=e.replace(/^\s+|\s+$/gm,""))){var t;try{this.$parse(e).assign(this.startScope,{}),t=this.$parse(e)(this.startScope)}catch(t){throw t.message="Angular ui-scroll Adapter assignment exception.\n"+"Can't parse \"".concat(e,'" expression.\n')+t.message,t}angular.extend(t,this.publicContext),this.publicContext=t}}},{key:"generatePublicContext",value:function(){for(var e=this,t=["reload","applyUpdates","append","prepend","isBOF","isEOF","isEmpty"],n=t.length-1;n>=0;n--)this.publicContext[t[n]]=this[t[n]].bind(this);for(var r=["isLoading","topVisible","topVisibleElement","topVisibleScope","bottomVisible","bottomVisibleElement","bottomVisibleScope"],i=function(t){var n=void 0,i=e.$attr[r[t]];Object.defineProperty(e,r[t],{get:function(){return n},set:function(o){n=o,e.publicContext[r[t]]=o,i&&e.$parse(i).assign(e.startScope,o)}})},o=r.length-1;o>=0;o--)i(o);for(var a=["bufferFirst","bufferLast","bufferLength"],u=function(t){Object.defineProperty(e.publicContext,a[t],{get:function(){return e[a[t]]}})},s=a.length-1;s>=0;s--)u(s);Object.defineProperty(this.publicContext,"disabled",{get:function(){return e.disabled},set:function(t){return(e.disabled=t)?null:e.doAdjust()}})}},{key:"loading",value:function(e){this.isLoading=e}},{key:"isBOF",value:function(){return this.buffer.bof}},{key:"isEOF",value:function(){return this.buffer.eof}},{key:"isEmpty",value:function(){return!this.buffer.length}},{key:"append",value:function(e){this.buffer.append(e),this.doAdjust(),this.viewport.clipTop(),this.viewport.clipBottom()}},{key:"prepend",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.buffer.prepend(e,t.immutableTop),this.doAdjust(),this.viewport.clipTop(),this.viewport.clipBottom()}},{key:"applyUpdates",value:function(e,t,n){"function"==typeof e?this.applyUpdatesFunc(e,t):this.applyUpdatesIndex(e,t,n),this.doAdjust()}},{key:"applyUpdatesFunc",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.buffer.slice(0).forEach((function(r){t.applyUpdate(r,e(r.item,r.scope,r.element),n)}))}},{key:"applyUpdatesIndex",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e%1!=0)throw new Error("applyUpdates - "+e+" is not a valid index (should be an integer)");var r=e-this.buffer.first;r>=0&&r<this.buffer.length?this.applyUpdate(this.buffer[r],t,n):e>=this.buffer.getAbsMinIndex()&&e<=this.buffer.getAbsMaxIndex()&&angular.isArray(t)&&!t.length&&(this.viewport.removeCacheItem(e,!n.immutableTop&&e===this.buffer.minIndex),n.immutableTop||e!==this.buffer.getAbsMinIndex()?this.buffer.decrementMaxIndex():this.buffer.incrementMinIndex())}},{key:"applyUpdate",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(angular.isArray(t)){var i=this.buffer.indexOf(e);t.reverse().some((function(t){return t===e.item}))||(e.op="remove",r.immutableTop||0!==i||t.length||(e._op="isTop")),t.forEach((function(t){t===e.item?i--:n.buffer.insert(i+1,t,!r.immutableTop&&-1===i)}))}}},{key:"calculateProperties",value:function(){for(var e=null,t=0,n=!1,r=!1,i=this.buffer.length,o=0;o<i;o++){var a=this.buffer[o],u=a.element.offset().top;if(e!==u){var s=a.element.outerHeight(!0),l=this.viewport.topDataPos()+t+s;!n&&l>this.viewport.topVisiblePos()&&(n=!0,this.topVisible=a.item,this.topVisibleElement=a.element,this.topVisibleScope=a.scope),!r&&(l>=this.viewport.bottomVisiblePos()||o===i-1&&this.isEOF())&&(r=!0,this.bottomVisible=a.item,this.bottomVisibleElement=a.element,this.bottomVisibleScope=a.scope),t+=s}if(e=u,n&&r)break}}},{key:"bufferLength",get:function(){return this.buffer.getItems().length}},{key:"bufferFirst",get:function(){return this.buffer.getFirstItem()}},{key:"bufferLast",get:function(){return this.buffer.getLastItem()}}])&&v(t.prototype,n),r&&v(t,r),e}();angular.module("ui.scroll",[]).constant("JQLiteExtras",o).run(["JQLiteExtras",function(e){var t=angular.element;!(window.jQuery&&t.fn&&t.fn.jquery)&&(new e).registerFor(t),s.addCSSRules()}]).directive("uiScrollViewport",(function(){return{restrict:"A",controller:["$scope","$element",function(e,t){var n=this;return this.container=t,this.viewport=t,this.scope=e,angular.forEach(t.children(),(function(e){"tbody"===e.tagName.toLowerCase()&&(n.viewport=angular.element(e))})),this}]}})).directive("uiScroll",["$log","$injector","$rootScope","$timeout","$interval","$q","$parse",function(e,t,n,r,i,o,a){return{require:["?^uiScrollViewport"],restrict:"A",transclude:"element",priority:1e3,terminal:!0,link:function(e,u,c,f,h){var d=c.uiScroll.match(/^\s*(\w+)\s+in\s+([(\w|\$)\.]+)\s*$/);if(!d)throw new Error("Expected uiScroll in form of '_item_ in _datasource_' but got '"+c.uiScroll+"'");function p(e,t,n){return n||(e=null===e?t:Math.floor(e)),isNaN(e)?t:e}function m(t,n,r){return p(a(t)(e),n,r)}var v=null,x=d[1],y=d[2],w=f[0],I=Math.max(3,m(c.bufferSize,10)),E=Math.max(.3,m(c.padding,.5,!0)),T=(L=c.handleInertia,U=!0,M=a(L)(e),"boolean"==typeof M?M:U),$=m(c.startIndex,1),P=0,k=[],S=new s(t,o),A=new l(S,I,$),O=new g(S,A,u,w,n,E),j=new b(e,a,c,O,A,Y,(function(){D(),O.resetTopPadding(),O.resetBottomPadding(),arguments.length&&($=p(arguments[0],1,!1));A.reset($),H(v,"minIndex"),H(v,"maxIndex"),Y()}));var L,U,M;w&&(w.adapter=j);var V=function(){return"[object Object]"===Object.prototype.toString.call(v)&&"function"==typeof v.get};if(!(v=a(y)(e),V()||(v=t.get(y),V())))throw new Error(y+" is not a valid datasource");var C=[];function H(e,t){var n;angular.isNumber(e[t])&&(n=e[t],angular.isNumber(n)&&(C=C.filter((function(e){return e.id!==t}))).push({id:t,run:function(){return e[t]=n}}))}function _(e,t,n){var r,i=Object.getOwnPropertyDescriptor(e,t);i&&(i.set||i.get)||(H(e,t),Object.defineProperty(e,t,{set:function(i){if(r=i,!k.length||A.length){A[n]=i;var o=O.topDataPos();O.adjustPaddings(),"minIndex"===t&&O.onAfterMinIndexSet(o)}else H(e,t)},get:function(){return r}}))}_(v,"minIndex","minIndexUser"),_(v,"maxIndex","maxIndexUser");var F=2!==v.get.length?function(e){return v.get(A.next,I,e)}:function(e){v.get({index:A.next,append:A.length?A[A.length-1].item:void 0,count:I},e)},N=2!==v.get.length?function(e){return v.get(A.first-I,I,e)}:function(e){v.get({index:A.first-I,prepend:A.length?A[0].item:void 0,count:I},e)};function B(t){return t&&t!==P||e.$$destroyed}function D(){O.off("resize",K),O.off("scroll",K)}function R(e){return e.element.height()&&e.element[0].offsetParent}function W(e,t){q(e,t,O.insertElement),R(e)||(e.unregisterVisibilityWatcher=e.scope.$watch((function(){return function(e){R(e)&&(A.forEach((function(e){"function"==typeof e.unregisterVisibilityWatcher&&(e.unregisterVisibilityWatcher(),delete e.unregisterVisibilityWatcher)})),k.length||r((function(){return Y()})))}(e)}))),S.hideElement(e)}function q(e,t,n){var r=null,i=t>0?A[t-1].element:void 0;if(h((function(t,o){r=n(t,i),e.element=t,e.scope=o,o[x]=e.item})),j.transform){var o=e.scope.uiScrollTdInitializer;o&&o.linking?j.transform(e.scope,e.element):e.scope.uiScrollTdInitializer={onLink:function(){return j.transform(e.scope,e.element)},scope:e.scope}}return r}function z(e,t){t.animated.length?o.all(t.animated).then((function(){O.adjustPaddings(),Y(e)})):O.adjustPaddings()}function Q(e,t){O.shouldLoadBottom()?(!t||A.effectiveHeight(t.inserted)>0)&&1===k.push(!0)&&(j.loading(!0),G(e)):O.shouldLoadTop()&&(!t||A.effectiveHeight(t.prepended)>0||k[0])&&1===k.push(!1)&&(j.loading(!0),G(e))}function X(){var t,r,i,o,a=(t=[],r=[],i=[],o=[],A.forEach((function(e,n){switch(e.op){case"prepend":r.unshift(e);break;case"append":W(e,n),e.op="none",o.push(e);break;case"insert":t=t.concat(q(e,n,O.insertElementAnimated)),e.op="none",o.push(e);break;case"remove":i.push(e)}})),i.forEach((function(e){return t=t.concat(O.removeItem(e))})),r.length&&r.forEach((function(e){W(e),e.op="none"})),A.forEach((function(e,t){return e.scope.$index=A.first+t})),{prepended:r,removed:i,inserted:o,animated:t});return!e.$$phase&&!n.$$phase&&e.$digest(),a.inserted.forEach((function(e){return S.showElement(e)})),a.prepended.forEach((function(e){return S.showElement(e)})),a}function Y(e){e||(k=[],e=++P);var t=X();B(e)||(z(e,t),Q(e),k.length||j.calculateProperties())}function J(e){var t=X();O.onAfterPrepend(t),B(e)||(z(e,t),C.forEach((function(e){return e.run()})),C=[],Q(e,t),k.shift(),k.length?G(e):(j.loading(!1),O.on("resize",K),O.on("scroll",K),j.calculateProperties()))}function G(e){k[0]?A.length&&!O.shouldLoadBottom()?J(e):F((function(t){B(e)||(t.length<I&&(A.eof=!0),t.length>0&&(O.clipTop(),A.append(t)),J(e))})):A.length&&!O.shouldLoadTop()?J(e):N((function(t){B(e)||(t.length<I&&(A.bof=!0),t.length>0&&(A.length&&O.clipBottom(),A.prepend(t)),J(e))}))}function K(){T&&function(){if(O.synthetic){var e=O.synthetic.previous,t=O.synthetic.next;if(O.scrollTop()!==t)return requestAnimationFrame((function(){var n=O.scrollTop(),r=e-n;r>0?O.scrollTop(t-r):O.scrollTop(t),O.synthetic=null})),!0;O.synthetic=null}}()||n.$$phase||j.isLoading||j.disabled||(Q(P),k.length?D():(j.calculateProperties(),!e.$$phase&&e.$digest()))}function Z(e){if(!j.disabled){var t=O[0].scrollTop,n=O[0].scrollHeight-O[0].clientHeight;(0===t&&!A.bof||t===n&&!A.eof)&&e.preventDefault()}}h((function(e,t){O.createPaddingElements(e[0]),t.$destroy(),e.remove()})),e.$on("$destroy",(function(){D(),O.off("mousewheel",Z)})),O.on("mousewheel",Z),function(){var e=0;if(O.applyContainerStyle())Y();else var t=i((function(){if(e++,O.applyContainerStyle()&&(i.cancel(t),Y()),50*e>=500)throw i.cancel(t),Error("ui-scroll directive requires a viewport with non-zero height in ".concat(500,"ms"))}),50)}()}}}])}]);
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([,function(e,t,n){"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.r(t);var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,o;return t=e,(n=[{key:"registerFor",value:function(e){var t,n,i,o;function a(e,t,n){var i=e[0],a=r({top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[t],3),u=a[0],s=a[1],l=a[2],c=void 0!==n;return o(i)?c?i.scrollTo(e[l].call(e),n):s in i?i[s]:i.document.documentElement[u]:(c&&(i[u]=n),i[u])}function u(e,n,a){var u,s=function(e,n){var a,u,s,l,c,f,h,d,p,m;if(o(e))return{base:a=document.documentElement[{height:"clientHeight",width:"clientWidth"}[n]],padding:0,border:0,margin:0};var g=r({width:[e.offsetWidth,"Left","Right"],height:[e.offsetHeight,"Top","Bottom"]}[n],3);return a=g[0],h=g[1],d=g[2],f=i(e),p=t(e,f["padding"+h])||0,m=t(e,f["padding"+d])||0,u=t(e,f["border"+h+"Width"])||0,s=t(e,f["border"+d+"Width"])||0,l=f["margin"+h],c=f["margin"+d],{base:a,padding:p+m,border:u+s,margin:(t(e,l)||0)+(t(e,c)||0)}}(e,n);return s.base>0?{base:s.base-s.padding-s.border,outer:s.base,outerfull:s.base+s.margin}[a]:(((u=i(e)[n])<0||null===u)&&(u=e.style[n]||0),{base:(u=parseFloat(u)||0)-s.padding-s.border,outer:u,outerfull:u+s.padding+s.border+s.margin}[a])}return n=angular.element.prototype.css,e.prototype.css=function(e,t){var r=this[0];if(r&&3!==r.nodeType&&8!==r.nodeType&&r.style)return n.call(this,e,t)},o=function(e){return e&&e.document&&e.location&&e.alert&&e.setInterval},window.getComputedStyle?(i=function(e){return window.getComputedStyle(e,null)},t=function(e,t){return parseFloat(t)}):(i=function(e){return e.currentStyle},t=function(e,t){var n,r,i,o,a;return new RegExp("^("+/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source+")(?!px)[a-z%]+$","i").test(t)?(n=(a=e.style).left,o=(i=e.runtimeStyle)&&i.left,i&&(i.left=a.left),a.left=t,r=a.pixelLeft,a.left=n,o&&(i.left=o),r):parseFloat(t)}),angular.forEach({before:function(e){var t,n,r,i,o,a;if(n=this[0],(t=(o=this.parent()).contents())[0]===n)return o.prepend(e);for(r=i=1,a=t.length-1;1<=a?i<=a:i>=a;r=1<=a?++i:--i)if(t[r]===n)return void angular.element(t[r-1]).after(e);throw new Error("invalid DOM structure "+n.outerHTML)},height:function(e){return void 0!==e?(angular.isNumber(e)&&(e+="px"),n.call(this,"height",e)):u(this[0],"height","base")},outerHeight:function(e){return u(this[0],"height",e?"outerfull":"outer")},outerWidth:function(e){return u(this[0],"width",e?"outerfull":"outer")},offset:function(e){var t,n,r=this,i={top:0,left:0},o=r[0],a=o&&o.ownerDocument;if(arguments.length){if(void 0===e)return r;throw new Error("offset setter method is not implemented")}if(a)return t=a.documentElement,null!=o.getBoundingClientRect&&(i=o.getBoundingClientRect()),n=a.defaultView||a.parentWindow,{top:i.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:i.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}},scrollTop:function(e){return a(this,"top",e)},scrollLeft:function(e){return a(this,"left",e)}},(function(t,n){if(!e.prototype[n])return e.prototype[n]=t}))}}])&&i(t.prototype,n),o&&i(t,o),e}();function a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function u(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),e}var s="ng-ui-scroll-hide",l=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$animate=t.has&&t.has("$animate")?t.get("$animate"):null,this.isAngularVersionLessThen1_3=1===angular.version.major&&angular.version.minor<3,this.$q=n}return u(e,null,[{key:"addCSSRules",value:function(){var e,t="."+s,n="display: none",r=document.styleSheets[0];try{e=r.cssRules.length}catch(t){e=0}"insertRule"in r?r.insertRule(t+"{"+n+"}",e):"addRule"in r&&r.addRule(t,n,e)}}]),u(e,[{key:"hideElement",value:function(e){e.element.addClass(s)}},{key:"showElement",value:function(e){e.element.removeClass(s)}},{key:"insertElement",value:function(e,t){return t.after(e),[]}},{key:"removeElement",value:function(e){return e.element.remove(),e.scope.$destroy(),[]}},{key:"insertElementAnimated",value:function(e,t){if(!this.$animate)return this.insertElement(e,t);if(this.isAngularVersionLessThen1_3){var n=this.$q.defer();return this.$animate.enter(e,null,t,(function(){return n.resolve()})),[n.promise]}return[this.$animate.enter(e,null,t)]}},{key:"removeElementAnimated",value:function(e){if(!this.$animate)return this.removeElement(e);if(this.isAngularVersionLessThen1_3){var t=this.$q.defer();return this.$animate.leave(e.element,(function(){return e.scope.$destroy(),t.resolve()})),[t.promise]}return[this.$animate.leave(e.element).then((function(){return e.scope.$destroy()}))]}}]),e}(),c="prepend",f="append",h="insert",d="remove",p="none";function m(e,t,n){var r=Object.create(Array.prototype);return angular.extend(r,{size:t,reset:function(e){r.remove(0,r.length),r.eof=!1,r.bof=!1,r.first=e,r.next=e,r.minIndex=e,r.maxIndex=e,r.minIndexUser=null,r.maxIndexUser=null},append:function(e){e.forEach((function(e){++r.next,r.insert(f,e)})),r.maxIndex=r.eof?r.next-1:Math.max(r.next-1,r.maxIndex)},prepend:function(e,t){e.reverse().forEach((function(e){t?++r.next:--r.first,r.insert(c,e)})),r.minIndex=r.bof?r.minIndex=r.first:Math.min(r.first,r.minIndex)},insert:function(e,t,n){var i={item:t};if(e%1==0)i.op=h,r.splice(e,0,i),n?r.first--:r.next++;else switch(i.op=e,e){case f:r.push(i);break;case c:r.unshift(i)}},remove:function(t,n){if(angular.isNumber(t)){for(var i=t;i<n;i++)e.removeElement(r[i]);return r.splice(t,n-t)}return r.splice(r.indexOf(t),1),t.shiftTop&&r.first===this.getAbsMinIndex()?this.incrementMinIndex():this.decrementMaxIndex(),t.shiftTop?r.first++:r.next--,r.length||(r.minIndex=Math.min(r.maxIndex,r.minIndex)),e.removeElementAnimated(t)},incrementMinIndex:function(){if(null!==r.minIndexUser){if(r.minIndex>r.minIndexUser)return void r.minIndexUser++;r.minIndex===r.minIndexUser&&r.minIndexUser++}r.minIndex++},decrementMaxIndex:function(){null!==r.maxIndexUser&&r.maxIndex<=r.maxIndexUser&&r.maxIndexUser--,r.maxIndex--},getAbsMinIndex:function(){return null!==r.minIndexUser?Math.min(r.minIndexUser,r.minIndex):r.minIndex},getAbsMaxIndex:function(){return null!==r.maxIndexUser?Math.max(r.maxIndexUser,r.maxIndex):r.maxIndex},effectiveHeight:function(e){if(!e.length)return 0;var t=Number.MAX_VALUE,n=Number.NEGATIVE_INFINITY;return e.forEach((function(e){e.element[0].offsetParent&&(t=Math.min(t,e.element.offset().top),n=Math.max(n,e.element.offset().top+e.element.outerHeight(!0)))})),Math.max(0,n-t)},getItems:function(){return r.filter((function(e){return e.op===p}))},getFirstItem:function(){var e=r.getItems();return e.length?e[0].item:null},getLastItem:function(){var e=r.getItems();return e.length?e[e.length-1].item:null}}),r.reset(n),r}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function b(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),e}var x=function(){function e(){g(this,e)}return b(e,[{key:"add",value:function(e){for(var t=this.length-1;t>=0;t--)if(this[t].index===e.scope.$index)return void(this[t].height=e.element.outerHeight());this.push({index:e.scope.$index,height:e.element.outerHeight()}),this.sort((function(e,t){return e.index<t.index?-1:e.index>t.index?1:0}))}},{key:"remove",value:function(e,t){for(var n=e%1==0?e:e.scope.$index,r=e%1==0?t:e.shiftTop,i=this.length-1;i>=0;i--)if(this[i].index===n){this.splice(i,1);break}if(!r)for(var o=this.length-1;o>=0;o--)this[o].index>n&&this[o].index--}},{key:"clear",value:function(){this.length=0}}]),e}();function y(){var e=[];return e.push.apply(e,arguments),Object.setPrototypeOf(e,y.prototype),e}y.prototype=Object.create(Array.prototype),Object.getOwnPropertyNames(x.prototype).forEach((function(e){return y.prototype[e]=x.prototype[e]}));var I=function(){function e(t){g(this,e),this.element=function(e){if(e.nodeType!==Node.ELEMENT_NODE)throw new Error("ui-scroll directive requires an Element node for templating the view");var t;switch(e.tagName.toLowerCase()){case"dl":throw new Error("ui-scroll directive does not support <".concat(e.tagName,"> as a repeating tag: ").concat(e.outerHTML));case"tr":t=angular.element("<table><tr><td><div></div></td></tr></table>").find("tr");break;case"li":t=angular.element("<li></li>");break;default:t=angular.element("<div></div>")}return t}(t),this.cache=new y}return b(e,[{key:"height",value:function(){return this.element.height.apply(this.element,arguments)}}]),e}();function w(e,t,n,r,i,o){var a=null,u=null,s=r&&r.viewport?r.viewport:angular.element(window),l=r&&r.container?r.container:void 0,c=r&&r.scope?r.scope:i;function f(){return s.outerHeight()*o}return s.css({"overflow-anchor":"none","overflow-y":"auto",display:"block"}),angular.extend(s,{getScope:function(){return c},createPaddingElements:function(e){a=new I(e),u=new I(e),n.before(a.element),n.after(u.element),a.height(0),u.height(0)},applyContainerStyle:function(){return!l||(l!==s&&s.css("height",window.getComputedStyle(l[0]).height),s.height()>0)},bottomDataPos:function(){var e=s[0].scrollHeight;return(e=null!=e?e:s[0].document.documentElement.scrollHeight)-u.height()},topDataPos:function(){return a.height()},bottomVisiblePos:function(){return s.scrollTop()+s.outerHeight()},topVisiblePos:function(){return s.scrollTop()},insertElement:function(t,n){return e.insertElement(t,n||a.element)},insertElementAnimated:function(t,n){return e.insertElementAnimated(t,n||a.element)},shouldLoadBottom:function(){return!t.eof&&s.bottomDataPos()<s.bottomVisiblePos()+f()},clipBottom:function(){for(var e=0,n=0,r=0,i=s.bottomDataPos()-s.bottomVisiblePos()-f(),o=t.length-1;o>=0&&!(n+(r=t[o].element.outerHeight(!0))>i);o--)u.cache.add(t[o]),n+=r,e++;e>0&&(t.eof=!1,t.remove(t.length-e,t.length),t.next-=e,s.adjustPaddings())},shouldLoadTop:function(){return!t.bof&&s.topDataPos()>s.topVisiblePos()-f()},clipTop:function(){for(var e=0,n=0,r=0,i=s.topVisiblePos()-s.topDataPos()-f(),o=0;o<t.length&&!(n+(r=t[o].element.outerHeight(!0))>i);o++)a.cache.add(t[o]),n+=r,e++;e>0&&(a.height(a.height()+n),t.bof=!1,t.remove(0,e),t.first+=e)},adjustPaddings:function(){if(t.length){var e=t.reduce((function(e,t){return e+t.element.outerHeight(!0)}),0),n=0,r=0;a.cache.forEach((function(e){e.index<t.first&&(n+=e.height,r++)}));var i=0,o=0;u.cache.forEach((function(e){e.index>=t.next&&(i+=e.height,o++)}));var s=(e+n+i)/(r+o+t.length),l=null!==t.minIndexUser&&t.minIndex>t.minIndexUser,c=null!==t.maxIndexUser&&t.maxIndex<t.maxIndexUser,f=l?(t.minIndex-t.minIndexUser)*s:0,h=c?(t.maxIndexUser-t.maxIndex)*s:0;a.height(n+f),u.height(i+h)}},onAfterMinIndexSet:function(e){if(null!==t.minIndexUser&&t.minIndex>t.minIndexUser){var n=a.height()-e;for(s.scrollTop(s.scrollTop()+n);(n-=s.scrollTop())>0;)u.height(u.height()+n),s.scrollTop(s.scrollTop()+n)}},onAfterPrepend:function(e){if(e.prepended.length){var n=t.effectiveHeight(e.prepended),r=a.height()-n;if(r>=0)a.height(r);else{var i=s.scrollTop(),o=i-r;s.synthetic={previous:i,next:o},a.height(0),s.scrollTop(o)}}},resetTopPadding:function(){a.height(0),a.cache.clear()},resetBottomPadding:function(){u.height(0),u.cache.clear()},removeCacheItem:function(e,t){a.cache.remove(e,t),u.cache.remove(e,t)},removeItem:function(e){return this.removeCacheItem(e),t.remove(e)}}),s}function E(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var T=function(){function e(t,n,r,i,o,a,u){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$parse=n,this.$attr=r,this.viewport=i,this.buffer=o,this.doAdjust=a,this.reload=u,this.isLoading=!1,this.disabled=!1;var s=i.getScope();this.startScope=s.$parent?s:t,this.publicContext={},this.assignAdapter(r.adapter),this.generatePublicContext()}var t,n,r;return t=e,(n=[{key:"assignAdapter",value:function(e){if(e&&(e=e.replace(/^\s+|\s+$/gm,""))){var t;try{this.$parse(e).assign(this.startScope,{}),t=this.$parse(e)(this.startScope)}catch(t){throw t.message="Angular ui-scroll Adapter assignment exception.\n"+"Can't parse \"".concat(e,'" expression.\n')+t.message,t}angular.extend(t,this.publicContext),this.publicContext=t}}},{key:"generatePublicContext",value:function(){for(var e=this,t=["reload","applyUpdates","append","prepend","isBOF","isEOF","isEmpty"],n=t.length-1;n>=0;n--)this.publicContext[t[n]]=this[t[n]].bind(this);for(var r=["isLoading","topVisible","topVisibleElement","topVisibleScope","bottomVisible","bottomVisibleElement","bottomVisibleScope"],i=function(t){var n=void 0,i=e.$attr[r[t]];Object.defineProperty(e,r[t],{get:function(){return n},set:function(o){n=o,e.publicContext[r[t]]=o,i&&e.$parse(i).assign(e.startScope,o)}})},o=r.length-1;o>=0;o--)i(o);for(var a=["bufferFirst","bufferLast","bufferLength"],u=function(t){Object.defineProperty(e.publicContext,a[t],{get:function(){return e[a[t]]}})},s=a.length-1;s>=0;s--)u(s);Object.defineProperty(this.publicContext,"disabled",{get:function(){return e.disabled},set:function(t){return(e.disabled=t)?null:e.doAdjust()}})}},{key:"loading",value:function(e){this.isLoading=e}},{key:"isBOF",value:function(){return this.buffer.bof}},{key:"isEOF",value:function(){return this.buffer.eof}},{key:"isEmpty",value:function(){return!this.buffer.length}},{key:"append",value:function(e){this.buffer.append(e),this.doAdjust(),this.viewport.clipTop(),this.viewport.clipBottom()}},{key:"prepend",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.buffer.prepend(e,t.immutableTop),this.doAdjust(),this.viewport.clipTop(),this.viewport.clipBottom()}},{key:"applyUpdates",value:function(e,t,n){"function"==typeof e?this.applyUpdatesFunc(e,t):this.applyUpdatesIndex(e,t,n),this.doAdjust()}},{key:"applyUpdatesFunc",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.buffer.slice(0).forEach((function(r){t.applyUpdate(r,e(r.item,r.scope,r.element),n)}))}},{key:"applyUpdatesIndex",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e%1!=0)throw new Error("applyUpdates - "+e+" is not a valid index (should be an integer)");var r=e-this.buffer.first;r>=0&&r<this.buffer.length?this.applyUpdate(this.buffer[r],t,n):e>=this.buffer.getAbsMinIndex()&&e<=this.buffer.getAbsMaxIndex()&&angular.isArray(t)&&!t.length&&(this.viewport.removeCacheItem(e,!n.immutableTop&&e===this.buffer.minIndex),n.immutableTop||e!==this.buffer.getAbsMinIndex()?this.buffer.decrementMaxIndex():this.buffer.incrementMinIndex())}},{key:"applyUpdate",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(angular.isArray(t)){var i=this.buffer.indexOf(e);t.reverse().some((function(t){return t===e.item}))||(e.op=d,r.immutableTop||t.length||(0===i&&this.buffer.bof||0!==i&&this.buffer[i-1].shiftTop)&&(e.shiftTop=!0)),t.forEach((function(t){t===e.item?i--:n.buffer.insert(i+1,t,!r.immutableTop&&-1===i)}))}}},{key:"calculateProperties",value:function(){for(var e=null,t=0,n=!1,r=!1,i=this.buffer.length,o=0;o<i;o++){var a=this.buffer[o],u=a.element.offset().top;if(e!==u){var s=a.element.outerHeight(!0),l=this.viewport.topDataPos()+t+s;!n&&l>this.viewport.topVisiblePos()&&(n=!0,this.topVisible=a.item,this.topVisibleElement=a.element,this.topVisibleScope=a.scope),!r&&(l>=this.viewport.bottomVisiblePos()||o===i-1&&this.isEOF())&&(r=!0,this.bottomVisible=a.item,this.bottomVisibleElement=a.element,this.bottomVisibleScope=a.scope),t+=s}if(e=u,n&&r)break}}},{key:"bufferLength",get:function(){return this.buffer.getItems().length}},{key:"bufferFirst",get:function(){return this.buffer.getFirstItem()}},{key:"bufferLast",get:function(){return this.buffer.getLastItem()}}])&&E(t.prototype,n),r&&E(t,r),e}();angular.module("ui.scroll",[]).constant("JQLiteExtras",o).run(["JQLiteExtras",function(e){var t=angular.element;!(window.jQuery&&t.fn&&t.fn.jquery)&&(new e).registerFor(t),l.addCSSRules()}]).directive("uiScrollViewport",(function(){return{restrict:"A",controller:["$scope","$element",function(e,t){var n=this;return this.container=t,this.viewport=t,this.scope=e,angular.forEach(t.children(),(function(e){"tbody"===e.tagName.toLowerCase()&&(n.viewport=angular.element(e))})),this}]}})).directive("uiScroll",["$log","$injector","$rootScope","$timeout","$interval","$q","$parse",function(e,t,n,r,i,o,a){return{require:["?^uiScrollViewport"],restrict:"A",transclude:"element",priority:1e3,terminal:!0,link:function(e,u,s,g,v){var b=s.uiScroll.match(/^\s*(\w+)\s+in\s+([(\w|\$)\.]+)\s*$/);if(!b)throw new Error("Expected uiScroll in form of '_item_ in _datasource_' but got '"+s.uiScroll+"'");function x(e,t,n){return n||(e=null===e?t:Math.floor(e)),isNaN(e)?t:e}function y(t,n,r){return x(a(t)(e),n,r)}var I=null,E=b[1],$=b[2],P=g[0],k=Math.max(3,y(s.bufferSize,10)),S=Math.max(.3,y(s.padding,.5,!0)),A=(H=s.handleInertia,F=!0,N=a(H)(e),"boolean"==typeof N?N:F),O=y(s.startIndex,1),j=0,L=[],U=new l(t,o),M=new m(U,k,O),V=new w(U,M,u,P,n,S),C=new T(e,a,s,V,M,ee,(function(){Q(),V.resetTopPadding(),V.resetBottomPadding(),arguments.length&&(O=x(arguments[0],1,!1));M.reset(O),D(I,"minIndex"),D(I,"maxIndex"),ee()}));var H,F,N;P&&(P.adapter=C);var _=function(){return"[object Object]"===Object.prototype.toString.call(I)&&"function"==typeof I.get};if(!(I=a($)(e),_()||(I=t.get($),_())))throw new Error($+" is not a valid datasource");var B=[];function D(e,t){var n;angular.isNumber(e[t])&&(n=e[t],angular.isNumber(n)&&(B=B.filter((function(e){return e.id!==t}))).push({id:t,run:function(){return e[t]=n}}))}function R(e,t,n){var r,i=Object.getOwnPropertyDescriptor(e,t);i&&(i.set||i.get)||(D(e,t),Object.defineProperty(e,t,{set:function(i){if(r=i,!L.length||M.length){M[n]=i;var o=V.topDataPos();V.adjustPaddings(),"minIndex"===t&&V.onAfterMinIndexSet(o)}else D(e,t)},get:function(){return r}}))}R(I,"minIndex","minIndexUser"),R(I,"maxIndex","maxIndexUser");var W=2!==I.get.length?function(e){return I.get(M.next,k,e)}:function(e){I.get({index:M.next,append:M.length?M[M.length-1].item:void 0,count:k},e)},q=2!==I.get.length?function(e){return I.get(M.first-k,k,e)}:function(e){I.get({index:M.first-k,prepend:M.length?M[0].item:void 0,count:k},e)};function z(t){return t&&t!==j||e.$$destroyed}function Q(){V.off("resize",re),V.off("scroll",re)}function X(e){return e.element.height()&&e.element[0].offsetParent}function Y(e,t){J(e,t,V.insertElement),X(e)||(e.unregisterVisibilityWatcher=e.scope.$watch((function(){return function(e){X(e)&&(M.forEach((function(e){"function"==typeof e.unregisterVisibilityWatcher&&(e.unregisterVisibilityWatcher(),delete e.unregisterVisibilityWatcher)})),L.length||r((function(){return ee()})))}(e)}))),U.hideElement(e)}function J(e,t,n){var r=null,i=t>0?M[t-1].element:void 0;if(v((function(t,o){r=n(t,i),e.element=t,e.scope=o,o[E]=e.item})),C.transform){var o=e.scope.uiScrollTdInitializer;o&&o.linking?C.transform(e.scope,e.element):e.scope.uiScrollTdInitializer={onLink:function(){return C.transform(e.scope,e.element)},scope:e.scope}}return r}function G(e,t){t.animated.length?o.all(t.animated).then((function(){V.adjustPaddings(),ee(e)})):V.adjustPaddings()}function K(e,t){V.shouldLoadBottom()?(!t||M.effectiveHeight(t.inserted)>0)&&1===L.push(!0)&&(C.loading(!0),ne(e)):V.shouldLoadTop()&&(!t||M.effectiveHeight(t.prepended)>0||L[0])&&1===L.push(!1)&&(C.loading(!0),ne(e))}function Z(){var t,r,i,o,a=(t=[],r=[],i=[],o=[],M.forEach((function(e,n){switch(e.op){case c:r.unshift(e);break;case f:Y(e,n),e.op=p,o.push(e);break;case h:t=t.concat(J(e,n,V.insertElementAnimated)),e.op=p,o.push(e);break;case d:i.push(e)}})),i.forEach((function(e){return t=t.concat(V.removeItem(e))})),r.length&&r.forEach((function(e){Y(e),e.op=p})),M.forEach((function(e,t){return e.scope.$index=M.first+t})),{prepended:r,removed:i,inserted:o,animated:t});return!e.$$phase&&!n.$$phase&&e.$digest(),a.inserted.forEach((function(e){return U.showElement(e)})),a.prepended.forEach((function(e){return U.showElement(e)})),a}function ee(e){e||(L=[],e=++j);var t=Z();z(e)||(G(e,t),K(e),L.length||C.calculateProperties())}function te(e){var t=Z();V.onAfterPrepend(t),z(e)||(G(e,t),B.forEach((function(e){return e.run()})),B=[],K(e,t),L.shift(),L.length?ne(e):(C.loading(!1),V.on("resize",re),V.on("scroll",re),C.calculateProperties()))}function ne(e){L[0]?M.length&&!V.shouldLoadBottom()?te(e):W((function(t){z(e)||(t.length<k&&(M.eof=!0),t.length>0&&(V.clipTop(),M.append(t)),te(e))})):M.length&&!V.shouldLoadTop()?te(e):q((function(t){z(e)||(t.length<k&&(M.bof=!0),t.length>0&&(M.length&&V.clipBottom(),M.prepend(t)),te(e))}))}function re(){A&&function(){if(V.synthetic){var e=V.synthetic.previous,t=V.synthetic.next;if(V.scrollTop()!==t)return requestAnimationFrame((function(){var n=V.scrollTop(),r=e-n;r>0?V.scrollTop(t-r):V.scrollTop(t),V.synthetic=null})),!0;V.synthetic=null}}()||n.$$phase||C.isLoading||C.disabled||(K(j),L.length?Q():(C.calculateProperties(),!e.$$phase&&e.$digest()))}function ie(e){if(!C.disabled){var t=V[0].scrollTop,n=V[0].scrollHeight-V[0].clientHeight;(0===t&&!M.bof||t===n&&!M.eof)&&e.preventDefault()}}v((function(e,t){V.createPaddingElements(e[0]),t.$destroy(),e.remove()})),e.$on("$destroy",(function(){Q(),V.off("mousewheel",ie)})),V.on("mousewheel",ie),function(){var e=0;if(V.applyContainerStyle())ee();else var t=i((function(){if(e++,V.applyContainerStyle()&&(i.cancel(t),ee()),50*e>=500)throw i.cancel(t),Error("ui-scroll directive requires a viewport with non-zero height in ".concat(500,"ms"))}),50)}()}}}])}]);
//# sourceMappingURL=ui-scroll.min.js.map
{
"name": "angular-ui-scroll",
"description": "AngularJS virtual scrolling module",
"version": "1.8.1",
"version": "1.8.2",
"src": "./src/",

@@ -47,3 +47,3 @@ "public": "./dist/",

"clean-webpack-plugin": "^0.1.17",
"copy-webpack-plugin": "^5.1.1",
"copy-webpack-plugin": "^6.1.1",
"jasmine-core": "^2.8.0",

@@ -58,3 +58,3 @@ "jshint": "^2.10.1",

"npm-run-all": "^4.1.2",
"terser-webpack-plugin": "^2.3.5",
"terser-webpack-plugin": "^4.2.2",
"webpack": "^4.42.0",

@@ -61,0 +61,0 @@ "webpack-cli": "^3.3.1",

@@ -482,2 +482,5 @@ ### UI Scroll - [AngularJS](http://angularjs.org/) directive to provide infinite scroll over a limited element buffer

### v1.8.2
* Fixed edge cases when removing items.
### v1.8.1

@@ -484,0 +487,0 @@ * Removed deprecated bind/unbind methods.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc