!function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(1),r=o(3),i=o(4),l=o(5),s=o(6);t.scrollerModule=angular.module("angular-infinite-scroller",[]),t.scrollerModule.directive("infiniteScroller",function(){return{priority:1e3,restrict:"A",transclude:"element",link:function(e,t,o,c,a){var p=n.Descriptor.createFrom(e,o),u=new i.DOMManager(t),f=new l.ScrollDetector(t),m=new r.ElementsManager(p,u,a);new s.Scroller(p,f,m).Subscribe()}}})},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(2),r=function(){function e(){}return e.createFrom=function(t,o){var r=n.ScrollSettings.createFrom(o),i=e.parseExpression(o.infiniteScroller),l=new e;return l.CollectionExpression=i.collection,l.IndexExpression=i.index,l.TrackByExpression=i.trackBy,l.Scope=t,l.Settings=r,l},e.parseExpression=function(e){var t=e.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!t)throw Error("Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '"+e+"'.");var o=t[1],n=t[2],r=t[3];if(!(t=o.match(/^(?:(\s*[$\w]+))$/)))throw Error("'_item_' in '_item_ in _collection_' should be an identifier but got '"+o+"'.");return{collection:n,index:t[1],trackBy:r}},e}();t.Descriptor=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.BufferSize=10}return e.createFrom=function(t){var o=new e;if(t.scrollBufferSize)try{var n=parseInt(t.scrollBufferSize);if(isNaN(n))throw"";o.BufferSize=n}catch(e){throw"could not initialize scroll settings, ScrollBufferSize is not a number"}return o},e}();t.ScrollSettings=n},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,o){var n=this;this.descriptor=e,this.domManager=t,this.linker=o,this.UpdateCollection=function(e){n.collection=e,n.fixDisplayWindow(),n.fillBottom(),n.updateScopes(),n.cleanUpBottom()},this.AddTop=function(){var e=n.descriptor.Settings.BufferSize,t=0;for(t=n.displayFrom-1;t>=0&&e>0;t--){var o=n.transcludeElement(t);n.domManager.PrependElement(o.Element),n.items.unshift(o),e--}n.displayFrom=t+1},this.AddBottom=function(){var e=n.domManager.GetScrollBottomPosition(),t=n.descriptor.Settings.BufferSize,o=0;for(o=n.displayTo;o0;o++){var r=n.transcludeElement(o);n.domManager.AppendElement(r.Element),n.items.push(r);var i=r.Element;n.domManager.GetElementBottomPosition(i)>e&&t--}n.displayTo=o},this.RemoveTop=function(){for(var e=!0;e&&!(n.items.length<=n.descriptor.Settings.BufferSize);){var t=n.items[n.descriptor.Settings.BufferSize].Element;n.domManager.GetElementBottomPosition(t)n.domManager.GetScrollBottomPosition()?(n.removeElement(n.items.length-1),n.displayTo--):e=!1}},this.updateScopes=function(){for(var e=0;e0){n.displayTo-=e;var t=n.displayFrom-e;n.displayFrom=t>0?t:0}},this.cleanUpBottom=function(){for(var e=n.collection.length;e0){var t=this.items[this.items.length-1];if(this.domManager.GetElementBottomPosition(t.Element)>e)return}this.AddBottom()},e}();t.ElementsManager=n},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){var t=this;this.GetScrollTopPosition=function(){return t.containerElement.offsetTop+t.containerElement.scrollTop},this.GetScrollBottomPosition=function(){return t.containerElement.offsetTop+t.containerElement.scrollTop+t.containerElement.offsetHeight},this.AppendElement=function(e){t.container.append(e)},this.PrependElement=function(e){t.container.prepend(e)},this.AppendElementToContainer=function(e,t){t.append(e)},this.PrependElementToContainer=function(e,t){t.prepend(e)},this.container=e.parent(),this.containerElement=this.container[0]}return e.prototype.CreateRevealerElement=function(){return angular.element('
')},e.prototype.GetElementTopPosition=function(e){return e[0].offsetTop},e.prototype.Remove=function(e){e.remove()},e.prototype.GetElementBottomPosition=function(e){return e[0].offsetTop+e[0].offsetHeight},e.prototype.GetRelativePositionOf=function(e){return this.containerElement.offsetTop+this.containerElement.offsetHeight*e},e.prototype.FixScroll=function(e){this.containerElement.scrollTo(0,this.containerElement.offsetHeight*e)},e}();t.DOMManager=n},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){return function(e){var t=this;this.element=e,this.lastScrollTop=0,this.BUFFER_COUNT=5,this.SubscribeToElement=function(){var e=t.element.parent()[0];e.onscroll=function(){if(t.lastScrollTope.scrollTop){var r=e.children[0];t.OnScrollUp&&e.scrollTop<=r.clientHeight*t.BUFFER_COUNT&&t.OnScrollUp()}t.lastScrollTop=e.scrollTop}}}}();t.ScrollDetector=n},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,o){var n=this;this.descriptor=e,this.scrollDetector=t,this.elementsManager=o,this.onCollectionUpdated=function(e){n.elementsManager.UpdateCollection(e)},this.onScrollDown=function(){n.scope.$apply(function(){n.elementsManager.AddBottom(),n.elementsManager.RemoveTop()})},this.onScrollUp=function(){n.scope.$apply(function(){n.elementsManager.AddTop(),n.elementsManager.RemoveBottom()})},this.scrollDetector.OnScrollDown=this.onScrollDown,this.scrollDetector.OnScrollUp=this.onScrollUp}return Object.defineProperty(e.prototype,"scope",{get:function(){return this.descriptor.Scope},enumerable:!0,configurable:!0}),e.prototype.Subscribe=function(){this.scrollDetector.SubscribeToElement(),this.scope.$watchCollection(this.descriptor.CollectionExpression,this.onCollectionUpdated)},e}();t.Scroller=n}]); //# sourceMappingURL=angular-infinite-scroller.min.js.map