Last active
August 29, 2015 14:05
-
-
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/)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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