{"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":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","JQLiteExtras","element","convertToPx","css","getStyle","isWindow","scrollTo","self","direction","elem","top","left","method","prop","preserve","isValueDefined","document","documentElement","getWidthHeight","measure","result","measurements","base","borderA","borderB","computedMarginA","computedMarginB","computedStyle","dirA","dirB","paddingA","paddingB","height","width","padding","border","margin","offsetWidth","offsetHeight","getMeasurements","outer","outerfull","style","parseFloat","angular","this","nodeType","obj","location","alert","setInterval","window","getComputedStyle","currentStyle","rs","rsLeft","RegExp","source","test","runtimeStyle","pixelLeft","forEach","before","newElem","children","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","hideClassToken","ElementRoutines","$injector","$q","$animate","has","isAngularVersionLessThen1_3","version","major","minor","index","selector","rules","sheet","styleSheets","cssRules","err","insertRule","addRule","wrapper","addClass","removeClass","newElement","previousElement","remove","scope","$destroy","insertElement","deferred","defer","enter","resolve","promise","removeElement","leave","then","OPERATIONS","ScrollBuffer","elementRoutines","bufferSize","startIndex","buffer","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","Padding","template","Node","ELEMENT_NODE","tagName","toLowerCase","find","generateElement","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","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","publicProps","attr","set","publicPropsImmediate","newItems","options","arg3","applyUpdatesFunc","applyUpdatesIndex","cb","slice","applyUpdate","_index","isArray","some","newItem","rowTop","topHeight","topDone","bottomDone","itemTop","isEOF","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","datasource","itemName","datasourceName","handleInertia","ridActual","pending","unbindEvents","persistDatasourceIndex","isDatasourceValid","toString","onRenderHandlers","propName","handler","id","defineDatasourceIndex","propUserName","descriptor","getOwnPropertyDescriptor","fetchNext","success","count","fetchPrevious","isInvalid","rid","$$destroyed","off","resizeAndScrollHandler","isElementVisible","insertWrapperContent","insertAfter","createElement","unregisterVisibilityWatcher","$watch","visibilityWatcher","hideElement","promises","clone","transform","tdInitializer","uiScrollTdInitializer","linking","onLink","updatePaddings","animated","all","enqueueFetch","inserted","loading","fetch","processUpdates","toBePrepended","toBeRemoved","concat","removed","$$phase","$digest","w","showElement","calculateProperties","doAdjustAfterFetch","shift","on","oldPosition","requestAnimationFrame","fixInertia","wheelHandler","event","yMax","clientHeight","preventDefault","$on","tryCount","timer","cancel","initialize"],"mappings":"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","file":"ui-scroll.min.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('