{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/modules/jqLiteExtras.js","webpack:///./src/modules/elementRoutines.js","webpack:///./src/modules/utils.js","webpack:///./src/modules/buffer.js","webpack:///./src/modules/padding.js","webpack:///./src/modules/viewport.js","webpack:///./src/modules/adapter.js","webpack:///./src/ui-scroll.js"],"names":["JQLiteExtras","element","convertToPx","css","getStyle","isWindow","angular","prototype","name","value","self","elem","nodeType","style","call","obj","document","location","alert","setInterval","scrollTo","direction","top","left","method","prop","preserve","isValueDefined","documentElement","window","getComputedStyle","parseFloat","currentStyle","result","rs","rsLeft","core_pnum","source","rnumnonpx","RegExp","test","runtimeStyle","pixelLeft","getMeasurements","measure","base","borderA","borderB","computedMarginA","computedMarginB","computedStyle","dirA","dirB","marginA","marginB","paddingA","paddingB","height","width","padding","border","margin","offsetWidth","offsetHeight","getWidthHeight","measurements","outer","outerfull","forEach","before","newElem","children","i","j","parent","ref","contents","prepend","length","after","Error","outerHTML","isNumber","outerHeight","option","outerWidth","offset","docElem","win","box","doc","ownerDocument","arguments","undefined","getBoundingClientRect","defaultView","parentWindow","pageYOffset","scrollTop","clientTop","pageXOffset","scrollLeft","clientLeft","key","hideClassToken","ElementRoutines","selector","rules","sheet","styleSheets","index","cssRules","err","insertRule","addRule","$injector","$q","$animate","has","get","isAngularVersionLessThen1_3","version","major","minor","wrapper","addClass","removeClass","newElement","previousElement","remove","scope","$destroy","insertElement","deferred","defer","enter","resolve","promise","removeElement","leave","then","OPERATIONS","PREPEND","APPEND","INSERT","REMOVE","NONE","ScrollBuffer","elementRoutines","bufferSize","startIndex","buffer","Object","create","Array","extend","size","reset","eof","bof","first","next","minIndex","maxIndex","minIndexUser","maxIndexUser","append","items","item","insert","Math","max","immutableTop","reverse","min","operation","shiftTop","op","splice","push","unshift","arg1","arg2","indexOf","getAbsMinIndex","incrementMinIndex","decrementMaxIndex","removeElementAnimated","getAbsMaxIndex","effectiveHeight","elements","Number","MAX_VALUE","bottom","NEGATIVE_INFINITY","offsetParent","getItems","filter","getFirstItem","list","getLastItem","CacheProto","$index","sort","a","b","argument","_shiftTop","Cache","instance","apply","setPrototypeOf","getOwnPropertyNames","methodName","generateElement","template","Node","ELEMENT_NODE","tagName","toLowerCase","table","find","Padding","cache","Viewport","viewportController","$rootScope","topPadding","bottomPadding","viewport","container","bufferPadding","getScope","createPaddingElements","applyContainerStyle","bottomDataPos","scrollHeight","topDataPos","bottomVisiblePos","topVisiblePos","e","sibling","insertElementAnimated","shouldLoadBottom","clipBottom","overage","overageHeight","itemHeight","emptySpaceHeight","add","adjustPaddings","shouldLoadTop","clipTop","visibleItemsHeight","reduce","summ","topPaddingHeight","topCount","bottomPaddingHeight","bottomCount","totalHeight","averageItemHeight","adjustTopPadding","adjustBottomPadding","topPaddingHeightAdd","bottomPaddingHeightAdd","onAfterMinIndexSet","topPaddingHeightOld","diff","onAfterPrepend","updates","prepended","paddingHeight","position","newPosition","synthetic","previous","resetTopPadding","clear","resetBottomPadding","removeCacheItem","removeItem","Adapter","$scope","$parse","$attr","doAdjust","reload","isLoading","disabled","viewportScope","startScope","$parent","publicContext","assignAdapter","adapter","generatePublicContext","adapterAttr","replace","adapterOnScope","assign","error","message","publicMethods","bind","publicProps","property","attr","defineProperty","set","publicPropsImmediate","newItems","options","arg3","applyUpdatesFunc","applyUpdatesIndex","cb","slice","applyUpdate","_index","isArray","some","newItem","rowTop","topHeight","topDone","bottomDone","itemTop","isEOF","module","constant","run","elt","jQuery","fn","jquery","registerFor","addCSSRules","directive","restrict","controller","child","console","$timeout","$interval","require","transclude","priority","terminal","link","controllers","linker","match","uiScroll","parseNumber","defaultValue","isFloat","floor","isNaN","parseNumericAttr","parseBooleanAttr","BUFFER_MIN","BUFFER_DEFAULT","PADDING_MIN","PADDING_DEFAULT","HANDLE_INERTIA_DEFAULT","START_INDEX_DEFAULT","MAX_VIEWPORT_DELAY","VIEWPORT_POLLING_INTERVAL","datasource","itemName","datasourceName","handleInertia","ridActual","pending","isDatasourceValid","toString","onRenderHandlers","onRenderHandlersRunner","handler","persistDatasourceIndex","propName","getter","id","defineDatasourceIndex","propUserName","descriptor","getOwnPropertyDescriptor","fetchNext","success","count","fetchPrevious","initialize","tryCount","timer","cancel","clone","$on","unbindEvents","off","wheelHandler","on","isInvalid","rid","$$destroyed","bindEvents","resizeAndScrollHandler","isElementVisible","visibilityWatcher","unregisterVisibilityWatcher","insertWrapperContent","insertAfter","createElement","$watch","hideElement","promises","transform","tdInitializer","uiScrollTdInitializer","linking","onLink","updateDOM","toBePrepended","toBeRemoved","inserted","concat","removed","animated","updatePaddings","all","enqueueFetch","loading","fetch","processUpdates","$$phase","$digest","w","showElement","calculateProperties","doAdjustAfterFetch","shift","fixInertia","oldPosition","requestAnimationFrame","event","yMax","clientHeight","preventDefault"],"mappings":"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","file":"ui-scroll.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","/*!\r\n globals: angular, window\r\n List of used element methods available in JQuery but not in JQuery Lite\r\n element.before(elem)\r\n element.height()\r\n element.outerHeight(true)\r\n element.height(value) = only for Top/Bottom padding elements\r\n element.scrollTop()\r\n element.scrollTop(value)\r\n */\r\n\r\nexport default class JQLiteExtras {\r\n\r\n registerFor(element) {\r\n let convertToPx, css, getStyle, isWindow;\r\n // angular implementation blows up if elem is the window\r\n css = angular.element.prototype.css;\r\n\r\n element.prototype.css = function (name, value) {\r\n let self = this;\r\n let elem = self[0];\r\n if (!(!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style)) {\r\n return css.call(self, name, value);\r\n }\r\n };\r\n\r\n // as defined in angularjs v1.0.5\r\n isWindow = (obj) => obj && obj.document && obj.location && obj.alert && obj.setInterval;\r\n\r\n function scrollTo(self, direction, value) {\r\n let elem = self[0];\r\n let [method, prop, preserve] = {\r\n top: [\r\n 'scrollTop',\r\n 'pageYOffset',\r\n 'scrollLeft'\r\n ],\r\n left: [\r\n 'scrollLeft',\r\n 'pageXOffset',\r\n 'scrollTop'\r\n ]\r\n }[direction];\r\n\r\n const isValueDefined = typeof value !== 'undefined';\r\n if (isWindow(elem)) {\r\n if (isValueDefined) {\r\n return elem.scrollTo(self[preserve].call(self), value);\r\n }\r\n return (prop in elem) ? elem[prop] : elem.document.documentElement[method];\r\n } else {\r\n if (isValueDefined) {\r\n elem[method] = value;\r\n }\r\n return elem[method];\r\n }\r\n }\r\n\r\n if (window.getComputedStyle) {\r\n getStyle = (elem) => window.getComputedStyle(elem, null);\r\n convertToPx = (elem, value) => parseFloat(value);\r\n } else {\r\n getStyle = (elem) => elem.currentStyle;\r\n convertToPx = (elem, value) => {\r\n let left, result, rs, rsLeft, style;\r\n let core_pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\r\n let rnumnonpx = new RegExp('^(' + core_pnum + ')(?!px)[a-z%]+$', 'i');\r\n\r\n if (!rnumnonpx.test(value)) {\r\n return parseFloat(value);\r\n }\r\n\r\n // ported from JQuery\r\n style = elem.style;\r\n left = style.left;\r\n rs = elem.runtimeStyle;\r\n rsLeft = rs && rs.left;\r\n if (rs) {\r\n rs.left = style.left;\r\n }\r\n // put in the new values to get a computed style out\r\n style.left = value;\r\n result = style.pixelLeft;\r\n style.left = left;\r\n if (rsLeft) {\r\n rs.left = rsLeft;\r\n }\r\n return result;\r\n };\r\n }\r\n\r\n function getMeasurements(elem, measure) {\r\n let base, borderA, borderB, computedMarginA, computedMarginB, computedStyle, dirA, dirB, marginA, marginB, paddingA, paddingB;\r\n\r\n if (isWindow(elem)) {\r\n base = document.documentElement[{height: 'clientHeight', width: 'clientWidth'}[measure]];\r\n\r\n return {\r\n base: base,\r\n padding: 0,\r\n border: 0,\r\n margin: 0\r\n };\r\n }\r\n\r\n // Start with offset property\r\n [\r\n base,\r\n dirA,\r\n dirB\r\n ] = {\r\n width: [\r\n elem.offsetWidth,\r\n 'Left',\r\n 'Right'\r\n ],\r\n height: [\r\n elem.offsetHeight,\r\n 'Top',\r\n 'Bottom'\r\n ]\r\n }[measure];\r\n\r\n computedStyle = getStyle(elem);\r\n paddingA = convertToPx(elem, computedStyle['padding' + dirA]) || 0;\r\n paddingB = convertToPx(elem, computedStyle['padding' + dirB]) || 0;\r\n borderA = convertToPx(elem, computedStyle['border' + dirA + 'Width']) || 0;\r\n borderB = convertToPx(elem, computedStyle['border' + dirB + 'Width']) || 0;\r\n computedMarginA = computedStyle['margin' + dirA];\r\n computedMarginB = computedStyle['margin' + dirB];\r\n\r\n // I do not care for width for now, so this hack is irrelevant\r\n // if ( !supportsPercentMargin )\r\n // computedMarginA = hackPercentMargin( elem, computedStyle, computedMarginA )\r\n // computedMarginB = hackPercentMargin( elem, computedStyle, computedMarginB )\r\n marginA = convertToPx(elem, computedMarginA) || 0;\r\n marginB = convertToPx(elem, computedMarginB) || 0;\r\n\r\n return {\r\n base: base,\r\n padding: paddingA + paddingB,\r\n border: borderA + borderB,\r\n margin: marginA + marginB\r\n };\r\n }\r\n\r\n function getWidthHeight(elem, direction, measure) {\r\n let computedStyle, result;\r\n\r\n let measurements = getMeasurements(elem, direction);\r\n\r\n if (measurements.base > 0) {\r\n return {\r\n base: measurements.base - measurements.padding - measurements.border,\r\n outer: measurements.base,\r\n outerfull: measurements.base + measurements.margin\r\n }[measure];\r\n }\r\n\r\n // Fall back to computed then uncomputed css if necessary\r\n computedStyle = getStyle(elem);\r\n result = computedStyle[direction];\r\n\r\n if (result < 0 || result === null) {\r\n result = elem.style[direction] || 0;\r\n }\r\n\r\n // Normalize \"\", auto, and prepare for extra\r\n result = parseFloat(result) || 0;\r\n\r\n return {\r\n base: result - measurements.padding - measurements.border,\r\n outer: result,\r\n outerfull: result + measurements.padding + measurements.border + measurements.margin\r\n }[measure];\r\n }\r\n\r\n // define missing methods\r\n return angular.forEach({\r\n before(newElem) {\r\n var children, elem, i, j, parent, ref, self;\r\n self = this;\r\n elem = self[0];\r\n parent = self.parent();\r\n children = parent.contents();\r\n if (children[0] === elem) {\r\n return parent.prepend(newElem);\r\n } else {\r\n for (i = j = 1, ref = children.length - 1; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\r\n if (children[i] === elem) {\r\n angular.element(children[i - 1]).after(newElem);\r\n return;\r\n }\r\n }\r\n throw new Error('invalid DOM structure ' + elem.outerHTML);\r\n }\r\n },\r\n height (value){\r\n var self;\r\n self = this;\r\n if (typeof value !== 'undefined') {\r\n if (angular.isNumber(value)) {\r\n value = value + 'px';\r\n }\r\n return css.call(self, 'height', value);\r\n } else {\r\n return getWidthHeight(this[0], 'height', 'base');\r\n }\r\n },\r\n outerHeight(option) {\r\n return getWidthHeight(this[0], 'height', option ? 'outerfull' : 'outer');\r\n },\r\n outerWidth(option) {\r\n return getWidthHeight(this[0], 'width', option ? 'outerfull' : 'outer');\r\n },\r\n\r\n /*\r\n The offset setter method is not implemented\r\n */\r\n offset(value) {\r\n let docElem, win;\r\n let self = this;\r\n let box = {\r\n top: 0,\r\n left: 0\r\n };\r\n let elem = self[0];\r\n let doc = elem && elem.ownerDocument;\r\n\r\n if (arguments.length) {\r\n if (value === undefined) {\r\n return self;\r\n }\r\n // TODO: implement setter\r\n throw new Error('offset setter method is not implemented');\r\n }\r\n\r\n if (!doc) {\r\n return;\r\n }\r\n\r\n docElem = doc.documentElement;\r\n\r\n // TODO: Make sure it's not a disconnected DOM node\r\n\r\n if (elem.getBoundingClientRect != null) {\r\n box = elem.getBoundingClientRect();\r\n }\r\n\r\n win = doc.defaultView || doc.parentWindow;\r\n\r\n return {\r\n top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),\r\n left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0)\r\n };\r\n },\r\n scrollTop(value) {\r\n return scrollTo(this, 'top', value);\r\n },\r\n scrollLeft(value) {\r\n return scrollTo(this, 'left', value);\r\n }\r\n }, (value, key) => {\r\n if (!element.prototype[key]) {\r\n return element.prototype[key] = value;\r\n }\r\n });\r\n }\r\n\r\n}\r\n","const hideClassToken = 'ng-ui-scroll-hide';\r\n\r\nexport default class ElementRoutines {\r\n\r\n static addCSSRules() {\r\n const selector = '.' + hideClassToken;\r\n const rules = 'display: none';\r\n const sheet = document.styleSheets[0];\r\n let index;\r\n try {\r\n index = sheet.cssRules.length;\r\n } catch (err) {\r\n index = 0;\r\n }\r\n if('insertRule' in sheet) {\r\n sheet.insertRule(selector + '{' + rules + '}', index);\r\n }\r\n else if('addRule' in sheet) {\r\n sheet.addRule(selector, rules, index);\r\n }\r\n }\r\n\r\n constructor($injector, $q) {\r\n this.$animate = ($injector.has && $injector.has('$animate')) ? $injector.get('$animate') : null;\r\n this.isAngularVersionLessThen1_3 = angular.version.major === 1 && angular.version.minor < 3;\r\n this.$q = $q;\r\n }\r\n\r\n hideElement(wrapper) {\r\n wrapper.element.addClass(hideClassToken);\r\n }\r\n\r\n showElement(wrapper) {\r\n wrapper.element.removeClass(hideClassToken);\r\n }\r\n\r\n insertElement(newElement, previousElement) {\r\n previousElement.after(newElement);\r\n return [];\r\n }\r\n\r\n removeElement(wrapper) {\r\n wrapper.element.remove();\r\n wrapper.scope.$destroy();\r\n return [];\r\n }\r\n\r\n insertElementAnimated(newElement, previousElement) {\r\n if (!this.$animate) {\r\n return this.insertElement(newElement, previousElement);\r\n }\r\n\r\n if (this.isAngularVersionLessThen1_3) {\r\n const deferred = this.$q.defer();\r\n // no need for parent - previous element is never null\r\n this.$animate.enter(newElement, null, previousElement, () => deferred.resolve());\r\n\r\n return [deferred.promise];\r\n }\r\n\r\n // no need for parent - previous element is never null\r\n return [this.$animate.enter(newElement, null, previousElement)];\r\n }\r\n\r\n removeElementAnimated(wrapper) {\r\n if (!this.$animate) {\r\n return this.removeElement(wrapper);\r\n }\r\n\r\n if (this.isAngularVersionLessThen1_3) {\r\n const deferred = this.$q.defer();\r\n this.$animate.leave(wrapper.element, () => {\r\n wrapper.scope.$destroy();\r\n return deferred.resolve();\r\n });\r\n\r\n return [deferred.promise];\r\n }\r\n\r\n return [(this.$animate.leave(wrapper.element)).then(() => wrapper.scope.$destroy())];\r\n }\r\n}","export const OPERATIONS = {\r\n PREPEND: 'prepend',\r\n APPEND: 'append',\r\n INSERT: 'insert',\r\n REMOVE: 'remove',\r\n NONE: 'none'\r\n};\r\n","import { OPERATIONS } from './utils';\r\n\r\nexport default function ScrollBuffer(elementRoutines, bufferSize, startIndex) {\r\n const buffer = Object.create(Array.prototype);\r\n\r\n angular.extend(buffer, {\r\n size: bufferSize,\r\n\r\n reset(startIndex) {\r\n buffer.remove(0, buffer.length);\r\n buffer.eof = false;\r\n buffer.bof = false;\r\n buffer.first = startIndex;\r\n buffer.next = startIndex;\r\n buffer.minIndex = startIndex;\r\n buffer.maxIndex = startIndex;\r\n buffer.minIndexUser = null;\r\n buffer.maxIndexUser = null;\r\n },\r\n\r\n append(items) {\r\n items.forEach((item) => {\r\n ++buffer.next;\r\n buffer.insert(OPERATIONS.APPEND, item);\r\n });\r\n buffer.maxIndex = buffer.eof ? buffer.next - 1 : Math.max(buffer.next - 1, buffer.maxIndex);\r\n },\r\n\r\n prepend(items, immutableTop) {\r\n items.reverse().forEach((item) => {\r\n if (immutableTop) {\r\n ++buffer.next;\r\n }\r\n else {\r\n --buffer.first;\r\n }\r\n buffer.insert(OPERATIONS.PREPEND, item);\r\n });\r\n buffer.minIndex = buffer.bof ? buffer.minIndex = buffer.first : Math.min(buffer.first, buffer.minIndex);\r\n },\r\n\r\n /**\r\n * inserts wrapped element in the buffer\r\n * the first argument is either operation keyword (see below) or a number for operation 'insert'\r\n * for insert the number is the index for the buffer element the new one have to be inserted after\r\n * operations: 'append', 'prepend', 'insert', 'remove', 'none'\r\n */\r\n insert(operation, item, shiftTop) {\r\n const wrapper = {\r\n item: item\r\n };\r\n\r\n if (operation % 1 === 0) { // it is an insert\r\n wrapper.op = OPERATIONS.INSERT;\r\n buffer.splice(operation, 0, wrapper);\r\n if (shiftTop) {\r\n buffer.first--;\r\n }\r\n else {\r\n buffer.next++;\r\n }\r\n } else {\r\n wrapper.op = operation;\r\n switch (operation) {\r\n case OPERATIONS.APPEND:\r\n buffer.push(wrapper);\r\n break;\r\n case OPERATIONS.PREPEND:\r\n buffer.unshift(wrapper);\r\n break;\r\n }\r\n }\r\n },\r\n\r\n // removes elements from buffer\r\n remove(arg1, arg2) {\r\n if (angular.isNumber(arg1)) {\r\n // removes items from arg1 (including) through arg2 (excluding)\r\n for (let i = arg1; i < arg2; i++) {\r\n elementRoutines.removeElement(buffer[i]);\r\n }\r\n return buffer.splice(arg1, arg2 - arg1);\r\n }\r\n // removes single item (wrapper) from the buffer\r\n buffer.splice(buffer.indexOf(arg1), 1);\r\n if (arg1.shiftTop && buffer.first === this.getAbsMinIndex()) {\r\n this.incrementMinIndex();\r\n }\r\n else {\r\n this.decrementMaxIndex();\r\n }\r\n if (arg1.shiftTop) {\r\n buffer.first++;\r\n }\r\n else {\r\n buffer.next--;\r\n }\r\n if (!buffer.length) {\r\n buffer.minIndex = Math.min(buffer.maxIndex, buffer.minIndex);\r\n }\r\n\r\n return elementRoutines.removeElementAnimated(arg1);\r\n },\r\n\r\n incrementMinIndex() {\r\n if (buffer.minIndexUser !== null) {\r\n if (buffer.minIndex > buffer.minIndexUser) {\r\n buffer.minIndexUser++;\r\n return;\r\n }\r\n if (buffer.minIndex === buffer.minIndexUser) {\r\n buffer.minIndexUser++;\r\n }\r\n }\r\n buffer.minIndex++;\r\n },\r\n\r\n decrementMaxIndex() {\r\n if (buffer.maxIndexUser !== null && buffer.maxIndex <= buffer.maxIndexUser) {\r\n buffer.maxIndexUser--;\r\n }\r\n buffer.maxIndex--;\r\n },\r\n\r\n getAbsMinIndex() {\r\n if (buffer.minIndexUser !== null) {\r\n return Math.min(buffer.minIndexUser, buffer.minIndex);\r\n }\r\n return buffer.minIndex;\r\n },\r\n\r\n getAbsMaxIndex() {\r\n if (buffer.maxIndexUser !== null) {\r\n return Math.max(buffer.maxIndexUser, buffer.maxIndex);\r\n }\r\n return buffer.maxIndex;\r\n },\r\n\r\n effectiveHeight(elements) {\r\n if (!elements.length) {\r\n return 0;\r\n }\r\n let top = Number.MAX_VALUE;\r\n let bottom = Number.NEGATIVE_INFINITY;\r\n elements.forEach((wrapper) => {\r\n if (wrapper.element[0].offsetParent) {\r\n // element style is not display:none\r\n top = Math.min(top, wrapper.element.offset().top);\r\n bottom = Math.max(bottom, wrapper.element.offset().top + wrapper.element.outerHeight(true));\r\n }\r\n });\r\n return Math.max(0, bottom - top);\r\n },\r\n\r\n getItems() {\r\n return buffer.filter(item => item.op === OPERATIONS.NONE);\r\n },\r\n\r\n getFirstItem() {\r\n const list = buffer.getItems();\r\n if (!list.length) {\r\n return null;\r\n }\r\n return list[0].item;\r\n },\r\n\r\n getLastItem() {\r\n const list = buffer.getItems();\r\n if (!list.length) {\r\n return null;\r\n }\r\n return list[list.length - 1].item;\r\n }\r\n\r\n });\r\n\r\n buffer.reset(startIndex);\r\n\r\n return buffer;\r\n}\r\n","// Can't just extend the Array, due to Babel does not support built-in classes extending\r\n// This solution was taken from https://stackoverflow.com/questions/46897414/es6-class-extends-array-workaround-for-es5-babel-transpile\r\nclass CacheProto {\r\n add(item) {\r\n for (let i = this.length - 1; i >= 0; i--) {\r\n if (this[i].index === item.scope.$index) {\r\n this[i].height = item.element.outerHeight();\r\n return;\r\n }\r\n }\r\n this.push({\r\n index: item.scope.$index,\r\n height: item.element.outerHeight()\r\n });\r\n this.sort((a, b) => ((a.index < b.index) ? -1 : ((a.index > b.index) ? 1 : 0)));\r\n }\r\n\r\n remove(argument, _shiftTop) {\r\n const index = argument % 1 === 0 ? argument : argument.scope.$index;\r\n const shiftTop = argument % 1 === 0 ? _shiftTop : argument.shiftTop;\r\n for (let i = this.length - 1; i >= 0; i--) {\r\n if (this[i].index === index) {\r\n this.splice(i, 1);\r\n break;\r\n }\r\n }\r\n if (!shiftTop) {\r\n for (let i = this.length - 1; i >= 0; i--) {\r\n if (this[i].index > index) {\r\n this[i].index--;\r\n }\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n this.length = 0;\r\n }\r\n}\r\n\r\nfunction Cache() {\r\n const instance = [];\r\n instance.push.apply(instance, arguments);\r\n Object.setPrototypeOf(instance, Cache.prototype);\r\n return instance;\r\n}\r\nCache.prototype = Object.create(Array.prototype);\r\nObject.getOwnPropertyNames(CacheProto.prototype).forEach(methodName =>\r\n Cache.prototype[methodName] = CacheProto.prototype[methodName]\r\n);\r\n\r\nfunction generateElement(template) {\r\n if (template.nodeType !== Node.ELEMENT_NODE) {\r\n throw new Error('ui-scroll directive requires an Element node for templating the view');\r\n }\r\n let element;\r\n switch (template.tagName.toLowerCase()) {\r\n case 'dl':\r\n throw new Error(`ui-scroll directive does not support <${template.tagName}> as a repeating tag: ${template.outerHTML}`);\r\n case 'tr':\r\n let table = angular.element('