Skip to content

Instantly share code, notes, and snippets.

@enricodeleo
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enricodeleo/c83ff0df22fa41fab7ca to your computer and use it in GitHub Desktop.
Save enricodeleo/c83ff0df22fa41fab7ca to your computer and use it in GitHub Desktop.
ng-scroller: Performant infinite scrolling AngularJS directive with UITableView-like element reusal (http://ngscroller.herokuapp.com/)
/* jshint ignore:start */
(function(){'use strict';var h,n=this;
function aa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==
b&&"undefined"==typeof a.call)return"object";return b}function p(a){return"array"==aa(a)}function r(a){return a[ba]||(a[ba]=++ca)}var ba="closure_uid_"+(1E9*Math.random()>>>0),ca=0;function da(a,b,c){return a.call.apply(a.bind,arguments)}
function ea(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function s(a,b,c){s=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?da:ea;return s.apply(null,arguments)}
function t(a,b){function c(){}c.prototype=b.prototype;a.ga=b.prototype;a.prototype=new c};var u,v,w,fa,ga,ha;function ia(){return n.navigator?n.navigator.userAgent:null}fa=w=v=u=!1;var y;if(y=ia()){var ja=n.navigator;u=0==y.lastIndexOf("Opera",0);v=!u&&(-1!=y.indexOf("MSIE")||-1!=y.indexOf("Trident"));w=!u&&-1!=y.indexOf("WebKit");fa=!u&&!w&&!v&&"Gecko"==ja.product}var ka=u,z=v,A=fa,B=w,C,la=n.navigator;C=la&&la.platform||"";ga=-1!=C.indexOf("Mac");ha=-1!=C.indexOf("Win");var ma=-1!=C.indexOf("Linux");function na(){var a=n.document;return a?a.documentMode:void 0}var D;
a:{var E="",F;if(ka&&n.opera)var oa=n.opera.version,E="function"==typeof oa?oa():oa;else if(A?F=/rv\:([^\);]+)(\)|;)/:z?F=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:B&&(F=/WebKit\/(\S+)/),F)var pa=F.exec(ia()),E=pa?pa[1]:"";if(z){var qa=na();if(qa>parseFloat(E)){D=String(qa);break a}}D=E}var ra={};
function G(a){var b;if(!(b=ra[a])){b=0;for(var c=String(D).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",k=d[f]||"",l=/(\d*)(\D*)/g,x=/(\d*)(\D*)/g;do{var m=l.exec(g)||["","",""],q=x.exec(k)||["","",""];if(0==m[0].length&&0==q[0].length)break;b=((0==m[1].length?0:parseInt(m[1],10))<(0==q[1].length?0:parseInt(q[1],10))?-1:(0==m[1].length?0:parseInt(m[1],10))>(0==q[1].length?
0:parseInt(q[1],10))?1:0)||((0==m[2].length)<(0==q[2].length)?-1:(0==m[2].length)>(0==q[2].length)?1:0)||(m[2]<q[2]?-1:m[2]>q[2]?1:0)}while(0==b)}b=ra[a]=0<=b}return b}var sa=n.document,ta=sa&&z?na()||("CSS1Compat"==sa.compatMode?parseInt(D,10):5):void 0;var ua="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function va(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<ua.length;f++)c=ua[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};var H=Array.prototype,wa=H.indexOf?function(a,b,c){return H.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if("string"==typeof a)return"string"==typeof b&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function xa(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};!A&&!z||z&&z&&9<=ta||A&&G("1.9.1");z&&G("9");var ya="closure_listenable_"+(1E6*Math.random()|0);function I(a){return!(!a||!a[ya])}var za=0;function Aa(a,b,c,d,e){this.h=a;this.C=null;this.src=b;this.type=c;this.capture=!!d;this.e=e;this.key=++za;this.m=this.v=!1}function Ba(a){a.m=!0;a.h=null;a.C=null;a.src=null;a.e=null};function J(a){this.src=a;this.c={};this.D=0}J.prototype.add=function(a,b,c,d,e){var f=this.c[a];f||(f=this.c[a]=[],this.D++);var g=Ca(f,b,d,e);-1<g?(a=f[g],c||(a.v=!1)):(a=new Aa(b,this.src,a,!!d,e),a.v=c,f.push(a));return a};J.prototype.remove=function(a,b,c,d){if(!(a in this.c))return!1;var e=this.c[a];b=Ca(e,b,c,d);return-1<b?(Ba(e[b]),H.splice.call(e,b,1),0==e.length&&(delete this.c[a],this.D--),!0):!1};
function Da(a,b){var c=b.type;if(c in a.c){var d=a.c[c],e=wa(d,b),f;(f=0<=e)&&H.splice.call(d,e,1);f&&(Ba(b),0==a.c[c].length&&(delete a.c[c],a.D--))}}J.prototype.o=function(a,b,c,d){a=this.c[a];var e=-1;a&&(e=Ca(a,b,c,d));return-1<e?a[e]:null};function Ca(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.m&&f.h==b&&f.capture==!!c&&f.e==d)return e}return-1};function K(){0!=Ea&&r(this)}var Ea=0;function L(a,b){this.type=a;this.currentTarget=this.target=b}L.prototype.j=!1;L.prototype.defaultPrevented=!1;L.prototype.W=!0;L.prototype.preventDefault=function(){this.defaultPrevented=!0;this.W=!1};var Fa=!z||z&&9<=ta,Ga=z&&!G("9");!B||G("528");A&&G("1.9b")||z&&G("8")||ka&&G("9.5")||B&&G("528");A&&!G("8")||z&&G("9");function Ha(a){Ha[" "](a);return a}Ha[" "]=function(){};function M(a,b){a&&this.w(a,b)}t(M,L);h=M.prototype;h.target=null;h.relatedTarget=null;h.offsetX=0;h.offsetY=0;h.clientX=0;h.clientY=0;h.screenX=0;h.screenY=0;h.button=0;h.keyCode=0;h.charCode=0;h.ctrlKey=!1;h.altKey=!1;h.shiftKey=!1;h.metaKey=!1;h.ea=!1;h.G=null;
h.w=function(a,b){var c=this.type=a.type;L.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(A){var e;a:{try{Ha(d.nodeName);e=!0;break a}catch(f){}e=!1}e||(d=null)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.offsetX=B||void 0!==a.offsetX?a.offsetX:a.layerX;this.offsetY=B||void 0!==a.offsetY?a.offsetY:a.layerY;this.clientX=void 0!==a.clientX?a.clientX:a.pageX;this.clientY=void 0!==a.clientY?a.clientY:
a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.ea=ga?a.metaKey:a.ctrlKey;this.state=a.state;this.G=a;a.defaultPrevented&&this.preventDefault();delete this.j};
h.preventDefault=function(){M.ga.preventDefault.call(this);var a=this.G;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Ga)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Ia={},N={},O={};function P(a,b,c,d,e){if(p(b)){for(var f=0;f<b.length;f++)P(a,b[f],c,d,e);return null}c=Q(c);return I(a)?a.l(b,c,d,e):Ja(a,b,c,!1,d,e)}function Ja(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e,k=r(a),l=N[k];l||(N[k]=l=new J(a));c=l.add(b,c,d,e,f);if(c.C)return c;d=Ka();c.C=d;d.src=a;d.h=c;a.addEventListener?a.addEventListener(b,d,g):a.attachEvent(b in O?O[b]:O[b]="on"+b,d);return Ia[c.key]=c}
function Ka(){var a=La,b=Fa?function(c){return a.call(b.src,b.h,c)}:function(c){c=a.call(b.src,b.h,c);if(!c)return c};return b}function Ma(a,b,c,d,e){if(p(b)){for(var f=0;f<b.length;f++)Ma(a,b[f],c,d,e);return null}c=Q(c);return I(a)?a.q(b,c,d,e):Ja(a,b,c,!0,d,e)}function Na(a,b,c,d,e){if(p(b))for(var f=0;f<b.length;f++)Na(a,b[f],c,d,e);else c=Q(c),I(a)?a.L(b,c,d,e):a&&(d=!!d,(a=R(a))&&(b=a.o(b,c,d,e))&&Oa(b))}
function Oa(a){if("number"!=typeof a&&a&&!a.m){var b=a.src;if(I(b))Da(b.g,a);else{var c=a.type,d=a.C;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(c in O?O[c]:O[c]="on"+c,d);(c=R(b))?(Da(c,a),0==c.D&&(c.src=null,delete N[r(b)])):Ba(a);delete Ia[a.key]}}}function Pa(a,b,c,d){var e=1;if(a=R(a))if(b=a.c[b])for(b=xa(b),a=0;a<b.length;a++){var f=b[a];f&&(f.capture==c&&!f.m)&&(e&=!1!==Qa(f,d))}return Boolean(e)}
function Qa(a,b){var c=a.h,d=a.e||a.src;a.v&&Oa(a);return c.call(d,b)}
function La(a,b){if(a.m)return!0;if(!Fa){var c;if(!(c=b))a:{c=["window","event"];for(var d=n,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new M(e,this);d=!0;if(!(0>e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,k=e.length-1;!c.j&&0<=k;k--)c.currentTarget=e[k],d&=Pa(e[k],f,!0,c);for(k=0;!c.j&&k<e.length;k++)c.currentTarget=
e[k],d&=Pa(e[k],f,!1,c)}return d}return Qa(a,new M(b,this))}function R(a){return a[ba]?N[r(a)]||null:null}var Ra="__closure_events_fn_"+(1E9*Math.random()>>>0);function Q(a){return"function"==aa(a)?a:a[Ra]||(a[Ra]=function(b){return a.handleEvent(b)})};function S(){K.call(this);this.g=new J(this);this.$=this}t(S,K);S.prototype[ya]=!0;h=S.prototype;h.T=null;h.addEventListener=function(a,b,c,d){P(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Na(this,a,b,c,d)};
h.dispatchEvent=function(a){var b,c=this.T;if(c)for(b=[];c;c=c.T)b.push(c);var c=this.$,d=a.type||a;if("string"==typeof a)a=new L(a,c);else if(a instanceof L)a.target=a.target||c;else{var e=a;a=new L(d,c);va(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.j&&0<=g;g--)f=a.currentTarget=b[g],e=T(f,d,!0,a)&&e;a.j||(f=a.currentTarget=c,e=T(f,d,!0,a)&&e,a.j||(e=T(f,d,!1,a)&&e));if(b)for(g=0;!a.j&&g<b.length;g++)f=a.currentTarget=b[g],e=T(f,d,!1,a)&&e;return e};
h.l=function(a,b,c,d){return this.g.add(a,b,!1,c,d)};h.q=function(a,b,c,d){return this.g.add(a,b,!0,c,d)};h.L=function(a,b,c,d){return this.g.remove(a,b,c,d)};function T(a,b,c,d){b=a.g.c[b];if(!b)return!0;b=xa(b);for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.m&&g.capture==c){var k=g.h,l=g.e||g.src;g.v&&Da(a.g,g);e=!1!==k.call(l,d)&&e}}return e&&!1!=d.W}h.o=function(a,b,c,d){return this.g.o(a,b,c,d)};function Sa(a,b){S.call(this);var c=this.k=a,d=typeof c;if(c=("object"==d&&null!=c||"function"==d)&&1==this.k.nodeType?this.k:this.k?this.k.body:null)d=9==c.nodeType?c:c.ownerDocument||c.document,d.defaultView&&d.defaultView.getComputedStyle&&(c=d.defaultView.getComputedStyle(c,null))&&(c.direction||c.getPropertyValue("direction"));P(this.k,A?"DOMMouseScroll":"mousewheel",this,b)}t(Sa,S);
Sa.prototype.handleEvent=function(a){var b=0,c=0,d=0;a=a.G;if("mousewheel"==a.type){c=1;if(z||B&&(ha||G("532.0")))c=40;d=Ta(-a.wheelDelta,c);void 0!==a.wheelDeltaX?(b=Ta(-a.wheelDeltaX,c),c=Ta(-a.wheelDeltaY,c)):c=d}else d=a.detail,100<d?d=3:-100>d&&(d=-3),void 0!==a.axis&&a.axis===a.HORIZONTAL_AXIS?b=d:c=d;"number"==typeof this.R&&Math.min(Math.max(b,-this.R),this.R);"number"==typeof this.S&&(c=Math.min(Math.max(c,-this.S),this.S));b=new Ua(d,a,0,c);this.dispatchEvent(b)};
function Ta(a,b){return B&&(ga||ma)&&0!=a%b?a:a/b}function Ua(a,b,c,d){b&&this.w(b,void 0);this.type="mousewheel";this.detail=a;this.ba=d}t(Ua,M);function U(a){K.call(this);this.I=a;this.J={}}t(U,K);var Va=[];U.prototype.l=function(a,b,c,d,e){p(b)||(Va[0]=b,b=Va);for(var f=0;f<b.length;f++){var g=P(a,b[f],c||this,d||!1,e||this.I||this);if(!g)break;this.J[g.key]=g}return this};U.prototype.q=function(a,b,c,d,e){if(p(b))for(var f=0;f<b.length;f++)this.q(a,b[f],c,d,e);else{a=Ma(a,b,c||this,d,e||this.I||this);if(!a)return this;this.J[a.key]=a}return this};
U.prototype.L=function(a,b,c,d,e){if(p(b))for(var f=0;f<b.length;f++)this.L(a,b[f],c,d,e);else e=e||this.I||this,c=Q(c||this),d=!!d,b=I(a)?a.o(b,c,d,e):a?(a=R(a))?a.o(b,c,d,e):null:null,b&&(Oa(b),delete this.J[b.key]);return this};U.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function V(a,b,c){this.t=a;this.viewport=this.N=b;this.a=c;this.u=5;this.e=new U(this);this.i=this.f=this.p=this.offset=this.b=0;this.r=this.B=!1;this.d=[]}h=V.prototype;h.V=function(){this.e.l(this.viewport,"scroll",this.H);this.e.l(this.viewport,"touchmove",this.H);this.e.l(this.da,"mousewheel",this.ca)};
h.w=function(){this.da=new Sa(this.viewport);this.V();this.s=null;for(var a=this.a.childNodes,b=0,c=a.length;b<c;++b){var d=a[b];if(1===d.nodeType&&d.hasAttribute("ng-scroller-loading")){this.s=d;this.a.removeChild(d);break}}this.offset=a=(this.viewport.scrollTop||this.viewport.scrollY||0)+this.N.getBoundingClientRect().top;this.b+=a;this.p=W(this);Wa(this,null)};function Xa(a,b){var c=a.d[Ya(a,b)];return c?c.element:null}
h.H=function(){var a=W(this),b=this.f+this.offset,c=b+this.a.clientHeight-X(this),c=Math.max(b,c),d=a;this.B&&(d=Math.max(b,d));this.r&&(d=Math.min(c,d));var e=d-this.p;window.console.log("%cframe: [%d %d] pos: %d->%d skew: %d","color:navy",b,c,a,d,this.b);this.scroll(e);this.p+=e;d!==a&&Y(this,d)};h.ca=function(a){if(0<a.ba){var b=this.viewport;(b.offsetHeight||b.innerHeight||0)+W(this)>=(b.scrollHeight||document.body.clientHeight)&&a.preventDefault()}else 0===W(this)&&a.preventDefault()};
h.O=function(a){for(var b=a.target;b.parentNode!==this.a;)if(b=b.parentNode,!b)return;var c;a:{c=this.d;for(var d=0,e=c.length;d<e;++d)if(c[d].element===b){c=c[d];break a}c=null}b=b.clientHeight;0>a.target.getBoundingClientRect().top&&(a=b-c.height,Y(this,W(this)+a),this.b-=a);c.height=b};
h.scroll=function(a){this.b-=a;if(0<a){if(this.shift(),this.r?0:X(this)+50>=this.a.clientHeight+this.b)a=this.d,a=a[a.length-1],Wa(this,a?a.id:null)}else this.pop(),Za(this)&&0>=this.N.getBoundingClientRect().top-this.f&&(a=this.d[0],$a(this,a?a.id:null))};function ab(a,b,c){window.console.log("styler: request %d before %d",a.u,b);bb(a.t,-1,b,a.u,c)}function cb(a,b,c){window.console.log("styler: request %d after %d",a.u,b);bb(a.t,1,b,a.u,c)}
function $a(a,b){var c,d;a.B=!0;window.console.log("styler: add spinner before %d",b);if(c=db(a,b))d=Z(c),a.b-=d,Y(a,W(a)+d);ab(a,b,function(e,f){window.console.log("styler: got items before %d",b);for(var g=document.createDocumentFragment(),k=0,l=f.length;k<l;++k)g.appendChild(f[k].element);var x=a.a.clientHeight;eb(a,b,g);k=0;for(l=f.length;k<l;++k){g=f[k];g.height=g.element.clientHeight;for(var g=g.element.getElementsByTagName("img"),m=0,q=g.length;m<q;++m)a.e.q(g[m],"load",a.O)}k=a.a.clientHeight-
x;a.b-=k;l=a.f;k<l?a.f-=k:(Y(a,W(a)+k-l),a.f=0);fb(a);c&&(a.b+=d,c.parentNode.removeChild(c),Y(a,W(a)-d));a.B=!1;a.d.splice.apply(a.d,[Ya(a,b),0].concat(f));Za(a)&&$a(a,f[0].id)})}
function Wa(a,b){var c;a.r=!0;window.console.log("styler: add spinner after %d",b);c=gb(a,b);cb(a,b,function(d,e){window.console.log("styler: got items after %d",b);for(var f=document.createDocumentFragment(),g=0,k=e.length;g<k;++g)f.appendChild(e[g].element);var l=a.a.clientHeight;hb(a,b,f);g=0;for(k=e.length;g<k;++g){f=e[g];f.height=f.element.clientHeight;for(var f=f.element.getElementsByTagName("img"),x=0,m=f.length;x<m;++x)a.e.q(f[x],"load",a.O)}e[e.length-1].element.nextSibling&&(a.i-=a.a.clientHeight-
l,a.i=Math.max(0,a.i),fb(a));c&&c.parentNode.removeChild(c);a.r=!1;a.d.splice.apply(a.d,[Ya(a,b)+1,0].concat(e));(a.r?0:X(a)+50>=a.a.clientHeight+a.b)&&Wa(a,e[e.length-1].id)})}function Ya(a,b){for(var c=a.d,d=0,e=c.length;d<e;++d)if(c[d].id===b)return d;return c.length-1}function eb(a,b,c){var d;b&&(d=Xa(a,b));d=d||a.a.firstChild;a.a.insertBefore(c,d)}function hb(a,b,c){var d=null;b&&(b=Xa(a,b))&&(d=b.nextSibling);a.a.insertBefore(c,d)}
function db(a,b){if(!a.s)return null;var c=a.s.cloneNode(!0);eb(a,b,c);return c}function gb(a,b){if(!a.s)return null;var c=a.s.cloneNode(!0);hb(a,b,c);return c}h.shift=function(){for(var a=this.d;ib(this);){var b=a[0],c=Z(b.element);this.b+=c;this.f+=c;this.a.removeChild(b.element);jb(this.t,a.shift());fb(this);window.console.log("styler: shift 1")}};
h.pop=function(){for(var a=this.d;kb(this);){var b=a[a.length-1],c=Z(b.element);this.i+=c;this.a.removeChild(b.element);jb(this.t,a.pop());fb(this);window.console.log("styler: pop 1")}};function Za(a){if(a.B)return!1;window.console.log("canUnshift: %d > 0",a.b);return-50<a.b}function ib(a){var b=a.d[0];if(!b)return!1;b=Z(b.element);return-a.b>=b+50}
function kb(a){var b=a.d[a.d.length-1];if(!b)return!1;var c=X(a),d=a.a.clientHeight,b=Z(b.element);window.console.log("canPop: %d + %d - %d - %d >= 0",d,a.b,c,b);return 50<=d+a.b-c-b}function X(a){return a.viewport.clientHeight||a.viewport.innerHeight||0}function W(a){return a.viewport.scrollTop||a.viewport.scrollY||0}function Y(a,b){"scrollTop"in a.viewport?a.viewport.scrollTop=b:a.viewport.scrollTo(a.viewport.scrollX,b);a.p=b}
function Z(a){var b=n.getComputedStyle(a,null);return a.clientHeight+(parseInt(b.borderTopWidth,10)||0)+(parseInt(b.borderBottomWidth,10)||0)}function fb(a){a.a.style.marginTop=a.f+"px";a.a.style.marginBottom=a.i+"px"};function lb(a,b,c){V.call(this,a,b,c);this.viewport=window}t(lb,V);lb.prototype.V=function(){this.e.l(this.viewport.nodeType?this.viewport:this.viewport.document,"scroll",this.H)};function mb(a){this.A=a;for(var b=[],c=0,d=a.length;c<d;++c)b[c]=a[c].id||"<index:"+c+">";this.P=b}function nb(a,b,c,d){window.console.log("%cref: "+b,"color:red");if(null===b)d(null,a.A.slice(0,c));else{var e=a.P.indexOf(b);-1===e&&d(Error("No such item id="+b+" found in the data store"),null);d(null,a.A.slice(e+1,e+1+c))}}
function ob(a,b,c,d){window.console.log("%cref: "+b,"color:red");if(null===b)d(null,a.A.slice(0,c));else{var e=a.P.indexOf(b);-1===e&&d(Error("No such item id="+b+" found in the data store"),null);b=Math.max(0,e-c);d(null,a.A.slice(b,e))}};function $(a,b,c){this.$compile=a;this.$q=b;this.$timeout=c;this.F=this.X=null;this.K={};this.Q=[]}$.$inject=["$compile","$q","$timeout"];$.prototype.terminal=!0;$.prototype.compile=function(a){this.viewport=a=a[0];var b=a.querySelectorAll("[ng-scroller-repeat]")[0];this.a=b;a=b.children[0];this.template=this.$compile(a);b=b.getAttribute("ng-scroller-repeat").split(/\s+in\s+/);this.aa=b[1];this.M=b[0];this.mode=this.viewport.getAttribute("ng-scroller")||"widget";this.a.removeChild(a)};
$.prototype.U=function(a){this.n=a;a=this.n[this.aa];p(a)&&(a=new mb(a));this.F=a;this.X="content"===this.mode?new lb(this,this.viewport,this.a):new V(this,this.viewport,this.a);this.X.w()};
function bb(a,b,c,d,e){var f=(0<b?"+":"-")+(null===c?"<null>":c);if(!a.K[f]){var g=a.M,k=function(b,c){if(b)e(b,null);else{var d=c.map(function(b){var c=b.id,d;(d=a.Q.pop())?(d.scope.Z=!1,d.scope.$$watchers=d.Y,d.scope.$$listeners=d.c):(d=a.n.$new(),d={id:null,element:pb(a,d),scope:d,Y:null,c:{}});d.id=b.id;d.scope[g]=b;d.scope.$id=c;return d});e(null,d);window.console.log("scroller: applying")}},l=function(b,c){delete a.K[f];if(b)return k(b,null);a.n.$$phase?a.n.$evalAsync(function(){k(b,c)}):a.n.$apply(function(){k(b,
c)})};0<b?nb(a.F,c,d,l):ob(a.F,c,d,l);a.K[f]=!0}}function pb(a,b){var c=null;a.template(b,function(a){c=a[0]});return c}function jb(a,b){b.element.parentNode&&b.element.parentNode.removeChild(b.element);b.scope[a.M]=null;b.scope.$id=null;b.id=null;b.Y=b.scope.$$watchers;b.c=b.scope.$$listeners;b.scope.Z=!0;b.scope.$$watchers=null;b.scope.$$listeners={$destroy:b.c.$destroy||[]};a.Q.push(b)};angular.module("ngScroller",[]).directive("ngScroller",function(a){function b(){var b=arguments,e=new c;e.compile=function(){var e=new c;a.apply(e,b);e.compile.apply(e,arguments);return{ha:e.fa?s(e.fa,e):null,post:e.U?s(e.U,e):null}};return e}function c(){}c.prototype=a.prototype;b.$inject=a.$inject||a.toString().match(/\((.*)\)/)[1].match(/\$?[^,\s]+/g)||[];return b}($));}.call(this));
/* jshint ignore:end */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment