File manager - Edit - /usr/local/cpanel/3rdparty/share/angular-ui-scroll/1.6.1/dist/ui-scroll.js.map
Back
{"version":3,"sources":["webpack:///webpack/bootstrap 0370a9e7dd5709818ee5","webpack:///./src/ui-scroll.js","webpack:///./src/modules/jqLiteExtras.js","webpack:///./src/modules/elementRoutines.js","webpack:///./src/modules/buffer.js","webpack:///./src/modules/viewport.js","webpack:///./src/modules/padding.js","webpack:///./src/modules/adapter.js"],"names":["angular","module","service","run","jqLiteExtras","window","jQuery","registerFor","element","directive","restrict","controller","scope","container","viewport","forEach","children","child","tagName","toLowerCase","console","$injector","$rootScope","$timeout","$q","$parse","require","transclude","priority","terminal","link","$scope","$attr","controllers","linker","match","uiScroll","Error","parseNumericAttr","value","defaultValue","result","isNaN","BUFFER_MIN","BUFFER_DEFAULT","PADDING_MIN","PADDING_DEFAULT","datasource","itemName","datasourceName","viewportController","bufferSize","Math","max","padding","startIndex","ridActual","pending","elementRoutines","buffer","adapter","adjustBuffer","reload","isDatasourceValid","isObject","isFunction","get","indexStore","defineProperty","propName","propUserName","descriptor","Object","getOwnPropertyDescriptor","set","length","topPaddingHeightOld","topDataPos","adjustPadding","adjustScrollTopAfterMinIndexSet","fetchNext","success","next","index","append","item","count","fetchPrevious","first","prepend","clone","createPaddingElements","$destroy","remove","$on","unbindEvents","unbind","wheelHandler","bind","applyContainerStyle","isInvalid","rid","$$destroyed","bindEvents","resizeAndScrollHandler","resetTopPadding","resetBottomPadding","arguments","reset","isElementVisible","wrapper","height","offsetParent","visibilityWatcher","unregisterVisibilityWatcher","insertWrapperContent","insertAfter","createElement","insertElement","$watch","addClass","promises","sibling","undefined","transform","updateDOM","toBePrepended","toBeRemoved","inserted","i","op","unshift","push","concat","insertElementAnimated","$index","prepended","removed","animated","updatePaddings","updates","all","then","enqueueFetch","shouldLoadBottom","effectiveHeight","fetch","loading","shouldLoadTop","w","removeClass","calculateProperties","adjustBufferAfterFetch","adjustScrollTopAfterPrepend","shift","eof","clipTop","bof","clipBottom","$$phase","isLoading","disabled","$apply","event","scrollTop","yMax","scrollHeight","clientHeight","preventDefault","JQLiteExtras","convertToPx","css","getStyle","isWindow","prototype","name","self","elem","nodeType","style","call","obj","document","location","alert","setInterval","scrollTo","direction","top","left","method","prop","preserve","isDefined","documentElement","getComputedStyle","parseFloat","currentStyle","rs","rsLeft","core_pnum","source","rnumnonpx","RegExp","test","runtimeStyle","pixelLeft","getMeasurements","measure","base","borderA","borderB","computedMarginA","computedMarginB","computedStyle","dirA","dirB","marginA","marginB","paddingA","paddingB","width","border","margin","offsetWidth","offsetHeight","getWidthHeight","measurements","outer","outerfull","before","newElem","j","parent","ref","contents","after","outerHTML","isNumber","outerHeight","option","outerWidth","offset","docElem","win","box","doc","ownerDocument","getBoundingClientRect","defaultView","parentWindow","pageYOffset","clientTop","pageXOffset","scrollLeft","clientLeft","key","ElementRoutines","$animate","has","isAngularVersionLessThen1_3","version","major","minor","newElement","previousElement","deferred","defer","enter","resolve","promise","removeElement","leave","ScrollBuffer","create","Array","extend","size","minIndex","maxIndex","minIndexUser","maxIndexUser","items","insert","reverse","min","operation","splice","arg1","arg2","indexOf","removeElementAnimated","elements","Number","MAX_VALUE","bottom","MIN_VALUE","Viewport","topPadding","bottomPadding","bufferPadding","getScope","template","bottomDataPos","bottomVisiblePos","topVisiblePos","e","overage","overageHeight","itemHeight","emptySpaceHeight","cache","add","topPaddingHeight","reduce","summ","bottomPaddingHeight","visibleItemsHeight","averageItemHeight","adjustTopPadding","adjustBottomPadding","topPaddingHeightAdd","bottomPaddingHeightAdd","diff","paddingHeight","clear","Padding","Cache","table","find","getCtrlOnData","attr","onSyntax","log","ctrl","tail","candidate","candidateScope","candidateName","target","Adapter","viewportScope","startScope","$parent","publicContext","assignAdapter","generatePublicContext","adapterAttr","replace","ctrlOnData","adapterOnScope","assign","error","message","publicMethods","publicProps","property","slice","applyUpdate","newItems","itemTop","isNewRow","rowTop","topHeight","isArray","keepIt","pos","newItem"],"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\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\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.loaded = 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// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0370a9e7dd5709818ee5","import JQLiteExtras from './modules/jqLiteExtras';\nimport ElementRoutines from './modules/elementRoutines.js';\nimport ScrollBuffer from './modules/buffer.js';\nimport Viewport from './modules/viewport.js';\nimport Adapter from './modules/adapter.js';\n\nangular.module('ui.scroll', [])\n\n .service('jqLiteExtras', () => new JQLiteExtras())\n .run(['jqLiteExtras', (jqLiteExtras) =>\n !window.jQuery ? jqLiteExtras.registerFor(angular.element) : null\n ])\n\n .directive('uiScrollViewport', function () {\n return {\n restrict: 'A',\n controller: [\n '$scope',\n '$element',\n function (scope, element) {\n this.container = element;\n this.viewport = element;\n this.scope = scope;\n\n angular.forEach(element.children(), (child => {\n if (child.tagName.toLowerCase() === 'tbody') {\n this.viewport = angular.element(child);\n }\n }));\n\n return this;\n }\n ]\n };\n })\n\n .directive('uiScroll', [\n '$log',\n '$injector',\n '$rootScope',\n '$timeout',\n '$q',\n '$parse',\n function (console, $injector, $rootScope, $timeout, $q, $parse) {\n\n return {\n require: ['?^uiScrollViewport'],\n restrict: 'A',\n transclude: 'element',\n priority: 1000,\n terminal: true,\n link: link\n };\n\n function link($scope, element, $attr, controllers, linker) {\n const match = $attr.uiScroll.match(/^\\s*(\\w+)\\s+in\\s+([(\\w|\\$)\\.]+)\\s*$/);\n if (!match) {\n throw new Error('Expected uiScroll in form of \\'_item_ in _datasource_\\' but got \\'' + $attr.uiScroll + '\\'');\n }\n\n function parseNumericAttr(value, defaultValue) {\n let result = $parse(value)($scope);\n return isNaN(result) ? defaultValue : result;\n }\n\n const BUFFER_MIN = 3;\n const BUFFER_DEFAULT = 10;\n const PADDING_MIN = 0.3;\n const PADDING_DEFAULT = 0.5;\n\n let datasource = null;\n const itemName = match[1];\n const datasourceName = match[2];\n const viewportController = controllers[0];\n const bufferSize = Math.max(BUFFER_MIN, parseNumericAttr($attr.bufferSize, BUFFER_DEFAULT));\n const padding = Math.max(PADDING_MIN, parseNumericAttr($attr.padding, PADDING_DEFAULT));\n let startIndex = parseNumericAttr($attr.startIndex, 1);\n let ridActual = 0;// current data revision id\n let pending = [];\n\n let elementRoutines = new ElementRoutines($injector, $q);\n let buffer = new ScrollBuffer(elementRoutines, bufferSize);\n let viewport = new Viewport(elementRoutines, buffer, element, viewportController, $rootScope, padding);\n let adapter = new Adapter(viewport, buffer, adjustBuffer, reload, $attr, $parse, element, $scope);\n\n if (viewportController) {\n viewportController.adapter = adapter;\n }\n\n let isDatasourceValid = () => angular.isObject(datasource) && angular.isFunction(datasource.get);\n datasource = $parse(datasourceName)($scope); // try to get datasource on scope\n if (!isDatasourceValid()) {\n datasource = $injector.get(datasourceName); // try to inject datasource as service\n if (!isDatasourceValid()) {\n throw new Error(datasourceName + ' is not a valid datasource');\n }\n }\n\n let indexStore = {};\n\n function defineProperty(datasource, propName, propUserName) {\n let descriptor = Object.getOwnPropertyDescriptor(datasource, propName);\n if (!descriptor || (!descriptor.set && !descriptor.get)) {\n Object.defineProperty(datasource, propName, {\n set: (value) => {\n indexStore[propName] = value;\n $timeout(() => {\n buffer[propUserName] = value;\n if (!pending.length) {\n let topPaddingHeightOld = viewport.topDataPos();\n viewport.adjustPadding();\n if (propName === 'minIndex') {\n viewport.adjustScrollTopAfterMinIndexSet(topPaddingHeightOld);\n }\n }\n });\n },\n get: () => indexStore[propName]\n });\n }\n }\n\n defineProperty(datasource, 'minIndex', 'minIndexUser');\n defineProperty(datasource, 'maxIndex', 'maxIndexUser');\n\n const fetchNext = (datasource.get.length !== 2) ? (success) => datasource.get(buffer.next, bufferSize, success)\n : (success) => {\n datasource.get({\n index: buffer.next,\n append: buffer.length ? buffer[buffer.length - 1].item : void 0,\n count: bufferSize\n }, success);\n };\n\n const fetchPrevious = (datasource.get.length !== 2) ? (success) => datasource.get(buffer.first - bufferSize, bufferSize, success)\n : (success) => {\n datasource.get({\n index: buffer.first - bufferSize,\n prepend: buffer.length ? buffer[0].item : void 0,\n count: bufferSize\n }, success);\n };\n\n /**\n * Build padding elements\n *\n * Calling linker is the only way I found to get access to the tag name of the template\n * to prevent the directive scope from pollution a new scope is created and destroyed\n * right after the builder creation is completed\n */\n linker((clone, scope) => {\n viewport.createPaddingElements(clone[0]);\n // we do not include the clone in the DOM. It means that the nested directives will not\n // be able to reach the parent directives, but in this case it is intentional because we\n // created the clone to access the template tag name\n scope.$destroy();\n clone.remove();\n });\n\n $scope.$on('$destroy', () => {\n unbindEvents();\n viewport.unbind('mousewheel', wheelHandler);\n });\n\n viewport.bind('mousewheel', wheelHandler);\n\n $timeout(() => {\n viewport.applyContainerStyle();\n reload();\n });\n\n /* Private function definitions */\n\n function isInvalid(rid) {\n return (rid && rid !== ridActual) || $scope.$$destroyed;\n }\n\n function bindEvents() {\n viewport.bind('resize', resizeAndScrollHandler);\n viewport.bind('scroll', resizeAndScrollHandler);\n }\n\n function unbindEvents() {\n viewport.unbind('resize', resizeAndScrollHandler);\n viewport.unbind('scroll', resizeAndScrollHandler);\n }\n\n function reload() {\n viewport.resetTopPadding();\n viewport.resetBottomPadding();\n if (arguments.length) {\n startIndex = arguments[0];\n }\n buffer.reset(startIndex);\n adjustBuffer();\n }\n\n function isElementVisible(wrapper) {\n return wrapper.element.height() && wrapper.element[0].offsetParent;\n }\n\n function visibilityWatcher(wrapper) {\n if (isElementVisible(wrapper)) {\n buffer.forEach((item) => {\n if (angular.isFunction(item.unregisterVisibilityWatcher)) {\n item.unregisterVisibilityWatcher();\n delete item.unregisterVisibilityWatcher;\n }\n });\n if (!pending.length) {\n adjustBuffer();\n }\n }\n }\n\n function insertWrapperContent(wrapper, insertAfter) {\n createElement(wrapper, insertAfter, viewport.insertElement);\n if (!isElementVisible(wrapper)) {\n wrapper.unregisterVisibilityWatcher = wrapper.scope.$watch(() => visibilityWatcher(wrapper));\n }\n wrapper.element.addClass('ng-hide'); // hide inserted elements before data binding\n }\n\n function createElement(wrapper, insertAfter, insertElement) {\n let promises = null;\n let sibling = (insertAfter > 0) ? buffer[insertAfter - 1].element : undefined;\n linker((clone, scope) => {\n promises = insertElement(clone, sibling);\n wrapper.element = clone;\n wrapper.scope = scope;\n scope[itemName] = wrapper.item;\n });\n if (adapter.transform)\n adapter.transform(wrapper.scope, wrapper.element);\n return promises;\n }\n\n function updateDOM() {\n let promises = [];\n const toBePrepended = [];\n const toBeRemoved = [];\n const inserted = [];\n\n buffer.forEach((wrapper, i) => {\n switch (wrapper.op) {\n case 'prepend':\n toBePrepended.unshift(wrapper);\n break;\n case 'append':\n insertWrapperContent(wrapper, i);\n wrapper.op = 'none';\n inserted.push(wrapper);\n break;\n case 'insert':\n promises = promises.concat(createElement(wrapper, i, viewport.insertElementAnimated));\n wrapper.op = 'none';\n inserted.push(wrapper);\n break;\n case 'remove':\n toBeRemoved.push(wrapper);\n }\n });\n\n toBeRemoved.forEach((wrapper) => promises = promises.concat(buffer.remove(wrapper)));\n\n if (toBePrepended.length)\n toBePrepended.forEach((wrapper) => {\n insertWrapperContent(wrapper);\n wrapper.op = 'none';\n });\n\n buffer.forEach((item, i) => item.scope.$index = buffer.first + i);\n\n return {\n prepended: toBePrepended,\n removed: toBeRemoved,\n inserted: inserted,\n animated: promises\n };\n\n }\n\n function updatePaddings(rid, updates) {\n // schedule another adjustBuffer after animation completion\n if (updates.animated.length) {\n $q.all(updates.animated).then(() => {\n viewport.adjustPadding();\n adjustBuffer(rid);\n });\n } else {\n viewport.adjustPadding();\n }\n }\n\n function enqueueFetch(rid, updates) {\n if (viewport.shouldLoadBottom()) {\n if (!updates || buffer.effectiveHeight(updates.inserted) > 0) {\n // this means that at least one item appended in the last batch has height > 0\n if (pending.push(true) === 1) {\n fetch(rid);\n adapter.loading(true);\n }\n }\n } else if (viewport.shouldLoadTop()) {\n if ((!updates || buffer.effectiveHeight(updates.prepended) > 0) || pending[0]) {\n // this means that at least one item appended in the last batch has height > 0\n // pending[0] = true means that previous fetch was appending. We need to force at least one prepend\n // BTW there will always be at least 1 element in the pending array because bottom is fetched first\n if (pending.push(false) === 1) {\n fetch(rid);\n adapter.loading(true);\n }\n }\n }\n }\n\n function adjustBuffer(rid) {\n if (!rid) { // dismiss pending requests\n pending = [];\n rid = ++ridActual;\n }\n\n let updates = updateDOM();\n\n // We need the item bindings to be processed before we can do adjustment\n $timeout(() => {\n\n // show elements after data binging has been done\n updates.inserted.forEach(w => w.element.removeClass('ng-hide'));\n updates.prepended.forEach(w => w.element.removeClass('ng-hide'));\n\n if (isInvalid(rid)) {\n return;\n }\n\n updatePaddings(rid, updates);\n enqueueFetch(rid);\n\n if (!pending.length) {\n adapter.calculateProperties();\n }\n });\n }\n\n function adjustBufferAfterFetch(rid) {\n let updates = updateDOM();\n\n // We need the item bindings to be processed before we can do adjustment\n $timeout(() => {\n\n // show elements after data binging has been done\n updates.inserted.forEach(w => w.element.removeClass('ng-hide'));\n updates.prepended.forEach(w => w.element.removeClass('ng-hide'));\n\n viewport.adjustScrollTopAfterPrepend(updates);\n\n if (isInvalid(rid)) {\n return;\n }\n\n updatePaddings(rid, updates);\n enqueueFetch(rid, updates);\n pending.shift();\n\n if (pending.length)\n fetch(rid);\n else {\n adapter.loading(false);\n bindEvents();\n adapter.calculateProperties();\n }\n });\n }\n\n function fetch(rid) {\n if (pending[0]) {// scrolling down\n if (buffer.length && !viewport.shouldLoadBottom()) {\n adjustBufferAfterFetch(rid);\n } else {\n fetchNext((result) => {\n if (isInvalid(rid)) {\n return;\n }\n\n if (result.length < bufferSize) {\n buffer.eof = true;\n }\n\n if (result.length > 0) {\n viewport.clipTop();\n buffer.append(result);\n }\n\n adjustBufferAfterFetch(rid);\n });\n }\n } else { // scrolling up\n if (buffer.length && !viewport.shouldLoadTop()) {\n adjustBufferAfterFetch(rid);\n } else {\n fetchPrevious((result) => {\n if (isInvalid(rid)) {\n return;\n }\n\n if (result.length < bufferSize) {\n buffer.bof = true;\n // log 'bof is reached'\n }\n\n if (result.length > 0) {\n if (buffer.length) {\n viewport.clipBottom();\n }\n buffer.prepend(result);\n }\n\n adjustBufferAfterFetch(rid);\n });\n }\n }\n }\n\n function resizeAndScrollHandler() {\n if (!$rootScope.$$phase && !adapter.isLoading && !adapter.disabled) {\n\n enqueueFetch(ridActual);\n\n if (pending.length) {\n unbindEvents();\n } else {\n adapter.calculateProperties();\n $scope.$apply();\n }\n }\n }\n\n function wheelHandler(event) {\n if (!adapter.disabled) {\n let scrollTop = viewport[0].scrollTop;\n let yMax = viewport[0].scrollHeight - viewport[0].clientHeight;\n\n if ((scrollTop === 0 && !buffer.bof) || (scrollTop === yMax && !buffer.eof)) {\n event.preventDefault();\n }\n }\n }\n }\n\n }\n ]);\n\n\n// WEBPACK FOOTER //\n// ./src/ui-scroll.js","/*!\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 if (isWindow(elem)) {\r\n if (angular.isDefined(value)) {\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 (angular.isDefined(value)) {\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 (angular.isDefined(value)) {\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\n\n\n// WEBPACK FOOTER //\n// ./src/modules/jqLiteExtras.js","export default class ElementRoutines {\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 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}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/elementRoutines.js","export default function ScrollBuffer(elementRoutines, bufferSize) {\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('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) {\r\n items.reverse().forEach((item) => {\r\n --buffer.first;\r\n buffer.insert('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', 'update', 'none'\r\n */\r\n insert(operation, item) {\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 = 'insert';\r\n buffer.splice(operation, 0, wrapper);\r\n } else {\r\n wrapper.op = operation;\r\n switch (operation) {\r\n case 'append':\r\n buffer.push(wrapper);\r\n break;\r\n case '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\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\r\n return elementRoutines.removeElementAnimated(arg1);\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.MIN_VALUE;\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 });\r\n\r\n return buffer;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/buffer.js","import Padding from './padding';\r\n\r\nexport default function Viewport(elementRoutines, buffer, element, viewportController, $rootScope, padding) {\r\n let topPadding = null;\r\n let bottomPadding = null;\r\n const viewport = viewportController && viewportController.viewport ? viewportController.viewport : angular.element(window);\r\n const container = viewportController && viewportController.container ? viewportController.container : undefined;\r\n const scope = viewportController && viewportController.scope ? viewportController.scope : $rootScope;\r\n\r\n viewport.css({\r\n 'overflow-anchor': 'none',\r\n 'overflow-y': 'auto',\r\n 'display': 'block'\r\n });\r\n\r\n function bufferPadding() {\r\n return viewport.outerHeight() * padding; // some extra space to initiate preload\r\n }\r\n\r\n angular.extend(viewport, {\r\n getScope() {\r\n return scope;\r\n },\r\n\r\n createPaddingElements(template) {\r\n topPadding = new Padding(template);\r\n bottomPadding = new Padding(template);\r\n element.before(topPadding);\r\n element.after(bottomPadding);\r\n },\r\n\r\n applyContainerStyle() {\r\n if (container && container !== viewport) {\r\n viewport.css('height', window.getComputedStyle(container[0]).height);\r\n }\r\n },\r\n\r\n bottomDataPos() {\r\n let scrollHeight = viewport[0].scrollHeight;\r\n scrollHeight = scrollHeight != null ? scrollHeight : viewport[0].document.documentElement.scrollHeight;\r\n return scrollHeight - bottomPadding.height();\r\n },\r\n\r\n topDataPos() {\r\n return topPadding.height();\r\n },\r\n\r\n bottomVisiblePos() {\r\n return viewport.scrollTop() + viewport.outerHeight();\r\n },\r\n\r\n topVisiblePos() {\r\n return viewport.scrollTop();\r\n },\r\n\r\n insertElement(e, sibling) {\r\n return elementRoutines.insertElement(e, sibling || topPadding);\r\n },\r\n\r\n insertElementAnimated(e, sibling) {\r\n return elementRoutines.insertElementAnimated(e, sibling || topPadding);\r\n },\r\n\r\n shouldLoadBottom() {\r\n return !buffer.eof && viewport.bottomDataPos() < viewport.bottomVisiblePos() + bufferPadding();\r\n },\r\n\r\n clipBottom() {\r\n // clip the invisible items off the bottom\r\n let overage = 0;\r\n let overageHeight = 0;\r\n let itemHeight = 0;\r\n let emptySpaceHeight = viewport.bottomDataPos() - viewport.bottomVisiblePos() - bufferPadding();\r\n\r\n for (let i = buffer.length - 1; i >= 0; i--) {\r\n itemHeight = buffer[i].element.outerHeight(true);\r\n if (overageHeight + itemHeight > emptySpaceHeight) {\r\n break;\r\n }\r\n bottomPadding.cache.add(buffer[i]);\r\n overageHeight += itemHeight;\r\n overage++;\r\n }\r\n\r\n if (overage > 0) {\r\n buffer.eof = false;\r\n buffer.remove(buffer.length - overage, buffer.length);\r\n buffer.next -= overage;\r\n viewport.adjustPadding();\r\n }\r\n },\r\n\r\n shouldLoadTop() {\r\n return !buffer.bof && (viewport.topDataPos() > viewport.topVisiblePos() - bufferPadding());\r\n },\r\n\r\n clipTop() {\r\n // clip the invisible items off the top\r\n let overage = 0;\r\n let overageHeight = 0;\r\n let itemHeight = 0;\r\n let emptySpaceHeight = viewport.topVisiblePos() - viewport.topDataPos() - bufferPadding();\r\n\r\n for (let i = 0; i < buffer.length; i++) {\r\n itemHeight = buffer[i].element.outerHeight(true);\r\n if (overageHeight + itemHeight > emptySpaceHeight) {\r\n break;\r\n }\r\n topPadding.cache.add(buffer[i]);\r\n overageHeight += itemHeight;\r\n overage++;\r\n }\r\n\r\n if (overage > 0) {\r\n // we need to adjust top padding element before items are removed from top\r\n // to avoid strange behaviour of scroll bar during remove top items when we are at the very bottom\r\n topPadding.height(topPadding.height() + overageHeight);\r\n buffer.bof = false;\r\n buffer.remove(0, overage);\r\n buffer.first += overage;\r\n }\r\n },\r\n\r\n adjustPadding() {\r\n if (!buffer.length) {\r\n return;\r\n }\r\n\r\n // precise heights calculation, items that were in buffer once\r\n let topPaddingHeight = topPadding.cache.reduce((summ, item) => summ + (item.index < buffer.first ? item.height : 0), 0);\r\n let bottomPaddingHeight = bottomPadding.cache.reduce((summ, item) => summ + (item.index >= buffer.next ? item.height : 0), 0);\r\n\r\n // average item height based on buffer data\r\n let visibleItemsHeight = buffer.reduce((summ, item) => summ + item.element.outerHeight(true), 0);\r\n let averageItemHeight = (visibleItemsHeight + topPaddingHeight + bottomPaddingHeight) / (buffer.maxIndex - buffer.minIndex + 1);\r\n\r\n // average heights calculation, items that have never been reached\r\n let adjustTopPadding = buffer.minIndexUser !== null && buffer.minIndex > buffer.minIndexUser;\r\n let adjustBottomPadding = buffer.maxIndexUser !== null && buffer.maxIndex < buffer.maxIndexUser;\r\n let topPaddingHeightAdd = adjustTopPadding ? (buffer.minIndex - buffer.minIndexUser) * averageItemHeight : 0;\r\n let bottomPaddingHeightAdd = adjustBottomPadding ? (buffer.maxIndexUser - buffer.maxIndex) * averageItemHeight : 0;\r\n\r\n // paddings combine adjustment\r\n topPadding.height(topPaddingHeight + topPaddingHeightAdd);\r\n bottomPadding.height(bottomPaddingHeight + bottomPaddingHeightAdd);\r\n },\r\n\r\n adjustScrollTopAfterMinIndexSet(topPaddingHeightOld) {\r\n // additional scrollTop adjustment in case of datasource.minIndex external set\r\n if (buffer.minIndexUser !== null && buffer.minIndex > buffer.minIndexUser) {\r\n let diff = topPadding.height() - topPaddingHeightOld;\r\n viewport.scrollTop(viewport.scrollTop() + diff);\r\n }\r\n },\r\n\r\n adjustScrollTopAfterPrepend(updates) {\r\n if (!updates.prepended.length)\r\n return;\r\n const height = buffer.effectiveHeight(updates.prepended);\r\n const paddingHeight = topPadding.height() - height;\r\n if (paddingHeight >= 0) {\r\n topPadding.height(paddingHeight);\r\n }\r\n else {\r\n topPadding.height(0);\r\n viewport.scrollTop(viewport.scrollTop() - paddingHeight);\r\n }\r\n },\r\n\r\n resetTopPadding() {\r\n topPadding.height(0);\r\n topPadding.cache.clear();\r\n },\r\n\r\n resetBottomPadding() {\r\n bottomPadding.height(0);\r\n bottomPadding.cache.clear();\r\n }\r\n });\r\n\r\n return viewport;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/viewport.js","function Cache() {\r\n const cache = Object.create(Array.prototype);\r\n\r\n angular.extend(cache, {\r\n add(item) {\r\n for (let i = cache.length - 1; i >= 0; i--) {\r\n if (cache[i].index === item.scope.$index) {\r\n cache[i].height = item.element.outerHeight();\r\n return;\r\n }\r\n }\r\n cache.push({\r\n index: item.scope.$index,\r\n height: item.element.outerHeight()\r\n });\r\n },\r\n clear() {\r\n cache.length = 0;\r\n }\r\n });\r\n\r\n return cache;\r\n}\r\n\r\nexport default function Padding(template) {\r\n let result;\r\n\r\n switch (template.tagName) {\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('<table><tr><td><div></div></td></tr></table>');\r\n result = table.find('tr');\r\n break;\r\n case 'li':\r\n result = angular.element('<li></li>');\r\n break;\r\n default:\r\n result = angular.element('<div></div>');\r\n }\r\n\r\n result.cache = new Cache();\r\n\r\n return result;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/padding.js","function getCtrlOnData(attr, element) {\r\n let onSyntax = attr.match(/^(.+)(\\s+on\\s+)(.+)?/);\r\n if (onSyntax && onSyntax.length === 4) {\r\n window.console.log('Angular ui-scroll adapter assignment warning. \"Controller On\" syntax has been deprecated since ui-scroll v1.6.1.');\r\n let ctrl = onSyntax[3];\r\n let tail = onSyntax[1];\r\n let candidate = element;\r\n while (candidate.length) {\r\n let candidateScope = candidate.scope(); // doesn't work when debugInfoEnabled flag = true\r\n let candidateName = (candidate.attr('ng-controller') || '').match(/(\\w(?:\\w|\\d)*)(?:\\s+as\\s+(\\w(?:\\w|\\d)*))?/);\r\n if (candidateName && candidateName[1] === ctrl) {\r\n return {\r\n target: candidateScope,\r\n source: tail\r\n };\r\n }\r\n candidate = candidate.parent();\r\n }\r\n throw new Error('Angular ui-scroll adapter assignment error. Failed to locate target controller \"' + ctrl + '\" to inject \"' + tail + '\"');\r\n }\r\n}\r\n\r\nclass Adapter {\r\n\r\n constructor(viewport, buffer, adjustBuffer, reload, $attr, $parse, element, $scope) {\r\n this.viewport = viewport;\r\n this.buffer = buffer;\r\n this.adjustBuffer = adjustBuffer;\r\n this.reload = reload;\r\n\r\n this.isLoading = false;\r\n this.disabled = false;\r\n\r\n const viewportScope = viewport.getScope();\r\n this.startScope = viewportScope.$parent ? viewportScope : $scope;\r\n\r\n this.publicContext = {};\r\n this.assignAdapter($attr.adapter, $parse, element);\r\n this.generatePublicContext($attr, $parse);\r\n }\r\n\r\n assignAdapter(adapterAttr, $parse, element) {\r\n if (!adapterAttr || !(adapterAttr = adapterAttr.replace(/^\\s+|\\s+$/gm, ''))) {\r\n return;\r\n }\r\n let ctrlOnData = getCtrlOnData(adapterAttr, element);\r\n let adapterOnScope;\r\n\r\n try {\r\n if (ctrlOnData) { // \"Controller On\", deprecated since v1.6.1\r\n $parse(ctrlOnData.source).assign(ctrlOnData.target, {});\r\n adapterOnScope = $parse(ctrlOnData.source)(ctrlOnData.target);\r\n }\r\n else {\r\n $parse(adapterAttr).assign(this.startScope, {});\r\n adapterOnScope = $parse(adapterAttr)(this.startScope);\r\n }\r\n }\r\n catch (error) {\r\n error.message = `Angular ui-scroll Adapter assignment exception.\\n` +\r\n `Can't parse \"${adapterAttr}\" expression.\\n` +\r\n error.message;\r\n throw error;\r\n }\r\n\r\n angular.extend(adapterOnScope, this.publicContext);\r\n this.publicContext = adapterOnScope;\r\n }\r\n\r\n generatePublicContext($attr, $parse) {\r\n // these methods will be accessible out of ui-scroll via user defined adapter\r\n const publicMethods = ['reload', 'applyUpdates', 'append', 'prepend', 'isBOF', 'isEOF', 'isEmpty'];\r\n for (let i = publicMethods.length - 1; i >= 0; i--) {\r\n this.publicContext[publicMethods[i]] = this[publicMethods[i]].bind(this);\r\n }\r\n\r\n // these read-only props will be accessible out of ui-scroll via user defined adapter\r\n const publicProps = ['isLoading', 'topVisible', 'topVisibleElement', 'topVisibleScope'];\r\n for (let i = publicProps.length - 1; i >= 0; i--) {\r\n let property, attr = $attr[publicProps[i]];\r\n Object.defineProperty(this, publicProps[i], {\r\n get: () => property,\r\n set: (value) => {\r\n property = value;\r\n this.publicContext[publicProps[i]] = value;\r\n if (attr) {\r\n $parse(attr).assign(this.startScope, value);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // non-read-only public property\r\n Object.defineProperty(this.publicContext, 'disabled', {\r\n get: () => this.disabled,\r\n set: (value) => (!(this.disabled = value)) ? this.adjustBuffer() : null\r\n });\r\n }\r\n\r\n loading(value) {\r\n this['isLoading'] = value;\r\n }\r\n\r\n isBOF() {\r\n return this.buffer.bof;\r\n }\r\n\r\n isEOF() {\r\n return this.buffer.eof;\r\n }\r\n\r\n isEmpty() {\r\n return !this.buffer.length;\r\n }\r\n\r\n applyUpdates(arg1, arg2) {\r\n if (angular.isFunction(arg1)) {\r\n // arg1 is the updater function, arg2 is ignored\r\n this.buffer.slice(0).forEach((wrapper) => {\r\n // we need to do it on the buffer clone, because buffer content\r\n // may change as we iterate through\r\n this.applyUpdate(wrapper, arg1(wrapper.item, wrapper.scope, wrapper.element));\r\n });\r\n } else {\r\n // arg1 is item index, arg2 is the newItems array\r\n if (arg1 % 1 !== 0) {// checking if it is an integer\r\n throw new Error('applyUpdates - ' + arg1 + ' is not a valid index');\r\n }\r\n\r\n const index = arg1 - this.buffer.first;\r\n if ((index >= 0 && index < this.buffer.length)) {\r\n this.applyUpdate(this.buffer[index], arg2);\r\n }\r\n }\r\n\r\n this.adjustBuffer();\r\n }\r\n\r\n append(newItems) {\r\n this.buffer.append(newItems);\r\n this.adjustBuffer();\r\n }\r\n\r\n prepend(newItems) {\r\n this.buffer.prepend(newItems);\r\n this.adjustBuffer();\r\n }\r\n\r\n calculateProperties() {\r\n let item, itemHeight, itemTop, isNewRow, rowTop = null;\r\n let topHeight = 0;\r\n for (let i = 0; i < this.buffer.length; i++) {\r\n item = this.buffer[i];\r\n itemTop = item.element.offset().top;\r\n isNewRow = rowTop !== itemTop;\r\n rowTop = itemTop;\r\n if (isNewRow) {\r\n itemHeight = item.element.outerHeight(true);\r\n }\r\n if (isNewRow && (this.viewport.topDataPos() + topHeight + itemHeight <= this.viewport.topVisiblePos())) {\r\n topHeight += itemHeight;\r\n } else {\r\n if (isNewRow) {\r\n this['topVisible'] = item.item;\r\n this['topVisibleElement'] = item.element;\r\n this['topVisibleScope'] = item.scope;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n applyUpdate(wrapper, newItems) {\r\n if (!angular.isArray(newItems)) {\r\n return;\r\n }\r\n\r\n let keepIt;\r\n let pos = (this.buffer.indexOf(wrapper)) + 1;\r\n\r\n newItems.reverse().forEach((newItem) => {\r\n if (newItem === wrapper.item) {\r\n keepIt = true;\r\n pos--;\r\n } else {\r\n this.buffer.insert(pos, newItem);\r\n }\r\n });\r\n\r\n if (!keepIt) {\r\n wrapper.op = 'remove';\r\n }\r\n }\r\n\r\n}\r\n\r\nexport default Adapter;\n\n\n// WEBPACK FOOTER //\n// ./src/modules/adapter.js"],"sourceRoot":""}
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings