1! function(e, t) { 2 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.PullToRefresh = t() 3}(this, function() { 4 "use strict"; 5 var e = { 6 pullStartY: null, 7 pullMoveY: null, 8 handlers: [], 9 styleEl: null, 10 events: null, 11 dist: 0, 12 state: "pending", 13 timeout: null, 14 distResisted: 0, 15 supportsPassive: !1 16 }; 17 try { 18 window.addEventListener("test", null, { 19 get passive() { 20 e.supportsPassive = !0 21 } 22 }) 23 } catch (e) {} 24 var t = { 25 setupDOM: function(t) { 26 if (!t.ptrElement) { 27 var n = document.createElement("div"); 28 t.mainElement !== document.body ? t.mainElement.parentNode.insertBefore(n, t.mainElement) : document.body.insertBefore(n, document.body.firstChild), n.classList.add(t.classPrefix + "ptr"), n.innerHTML = t.getMarkup().replace(/__PREFIX__/g, t.classPrefix), t.ptrElement = n, "function" == typeof t.onInit && t.onInit(t), e.styleEl || (e.styleEl = document.createElement("style"), e.styleEl.setAttribute("id", "pull-to-refresh-js-style"), document.head.appendChild(e.styleEl)), e.styleEl.textContent = t.getStyles().replace(/__PREFIX__/g, t.classPrefix).replace(/\s+/g, " ") 29 } 30 return t 31 }, 32 onReset: function(t) { 33 t.ptrElement.classList.remove(t.classPrefix + "refresh"), t.ptrElement.style[t.cssProp] = "0px", setTimeout(function() { 34 t.ptrElement && t.ptrElement.parentNode && (t.ptrElement.parentNode.removeChild(t.ptrElement), t.ptrElement = null), e.state = "pending" 35 }, t.refreshTimeout) 36 }, 37 update: function(t) { 38 var n = t.ptrElement.querySelector("." + t.classPrefix + "icon"), 39 s = t.ptrElement.querySelector("." + t.classPrefix + "text"); 40 n && ("refreshing" === e.state ? n.innerHTML = t.iconRefreshing : n.innerHTML = t.iconArrow), s && ("releasing" === e.state && (s.innerHTML = t.instructionsReleaseToRefresh), "pulling" !== e.state && "pending" !== e.state || (s.innerHTML = t.instructionsPullToRefresh), "refreshing" === e.state && (s.innerHTML = t.instructionsRefreshing)) 41 } 42 }, 43 n = function() { 44 var n; 45 46 function s(s) { 47 var r = e.handlers.filter(function(e) { 48 return e.contains(s.target) 49 })[0]; 50 e.enable = !!r, r && "pending" === e.state && (n = t.setupDOM(r), r.shouldPullToRefresh() && (e.pullStartY = s.touches[0].screenY), clearTimeout(e.timeout), t.update(r)) 51 } 52 53 function r(s) { 54 // slide-out-panel-screen ì´ë ¤ìì¼ë©´ ë¹ìë 55 if($('.slide-out-panel-screen').hasClass('open')) 56 { 57 return false; 58 } 59 60 n && n.ptrElement && e.enable && (e.pullStartY ? e.pullMoveY = s.touches[0].screenY : n.shouldPullToRefresh() && (e.pullStartY = s.touches[0].screenY), "refreshing" !== e.state ? ("pending" === e.state && (n.ptrElement.classList.add(n.classPrefix + "pull"), e.state = "pulling", t.update(n)), e.pullStartY && e.pullMoveY && (e.dist = e.pullMoveY - e.pullStartY), e.distExtra = e.dist - n.distIgnore, e.distExtra > 0 && (s.preventDefault(), n.ptrElement.style[n.cssProp] = e.distResisted + "px", e.distResisted = n.resistanceFunction(e.distExtra / n.distThreshold) * Math.min(n.distMax, e.distExtra), "pulling" === e.state && e.distResisted > n.distThreshold && (n.ptrElement.classList.add(n.classPrefix + "release"), e.state = "releasing", t.update(n)), "releasing" === e.state && e.distResisted < n.distThreshold && (n.ptrElement.classList.remove(n.classPrefix + "release"), e.state = "pulling", t.update(n)))) : n.shouldPullToRefresh() && e.pullStartY < e.pullMoveY && s.preventDefault()) 61 } 62 63 function i() { 64 if (n && n.ptrElement && e.enable) { 65 if ("releasing" === e.state && e.distResisted > n.distThreshold) e.state = "refreshing", n.ptrElement.style[n.cssProp] = n.distReload + "px", n.ptrElement.classList.add(n.classPrefix + "refresh"), e.timeout = setTimeout(function() { 66 var e = n.onRefresh(function() { 67 return t.onReset(n) 68 }); 69 e && "function" == typeof e.then && e.then(function() { 70 return t.onReset(n) 71 }), e || n.onRefresh.length || t.onReset(n) 72 }, n.refreshTimeout); 73 else { 74 if ("refreshing" === e.state) return; 75 n.ptrElement.style[n.cssProp] = "0px", e.state = "pending" 76 } 77 t.update(n), n.ptrElement.classList.remove(n.classPrefix + "release"), n.ptrElement.classList.remove(n.classPrefix + "pull"), e.pullStartY = e.pullMoveY = null, e.dist = e.distResisted = 0 78 } 79 } 80 81 function o() { 82 n && n.mainElement.classList.toggle(n.classPrefix + "top", n.shouldPullToRefresh()) 83 }
84 var l = e.supportsPassive ? { 85 passive: e.passive || !1 86 } : void 0; 87 return window.addEventListener("touchend", i), window.addEventListener("touchstart", s), window.addEventListener("touchmove", r, l), window.addEventListener("scroll", o), { 88 onTouchEnd: i, 89 onTouchStart: s, 90 onTouchMove: r, 91 onScroll: o, 92 destroy: function() { 93 window.removeEventListener("touchstart", s), window.removeEventListener("touchend", i), window.removeEventListener("touchmove", r, l), window.removeEventListener("scroll", o) 94 } 95 } 96 }, 97 s = { 98 distThreshold: 60, 99 distMax: 80, 100 distReload: 50, 101 distIgnore: 0, 102 mainElement: "body", 103 triggerElement: "body", 104 ptrElement: ".ptr", 105 classPrefix: "ptr--", 106 cssProp: "min-height", 107 iconArrow: "⇣", 108 iconRefreshing: "…", 109 instructionsPullToRefresh: "Pull down to refresh", 110 instructionsReleaseToRefresh: "Release to refresh", 111 instructionsRefreshing: "Refreshing", 112 refreshTimeout: 500, 113 getMarkup: function() { 114 return '\n<div class="__PREFIX__box">\n <div class="__PREFIX__content">\n <div class="__PREFIX__icon"></div>\n <div class="__PREFIX__text"></div>\n </div>\n</div>\n' 115 }, 116 getStyles: function() { 117 return "\n.__PREFIX__ptr {\n box-shadow: inset 0 -3px 5px rgba(0, 0, 0, 0.12);\n pointer-events: none;\n font-size: 0.85em;\n font-weight: bold;\n top: 0;\n height: 0;\n transition: height 0.3s, min-height 0.3s;\n text-align: center;\n width: 100%;\n overflow: hidden;\n display: flex;\n align-items: flex-end;\n align-content: stretch;\n}
117\n\n.__PREFIX__box {\n padding: 10px;\n flex-basis: 100%;\n}\n\n.__PREFIX__pull {\n transition: none;\n}\n\n.__PREFIX__text {\n margin-top: .33em;\n color: rgba(0, 0, 0, 0.3);\n}\n\n.__PREFIX__icon {\n color: rgba(0, 0, 0, 0.3);\n transition: transform .3s;\n}\n\n/*\nWhen at the top of the page, disable vertical overscroll so passive touch\nlisteners can take over.\n*/\n.__PREFIX__top {\n touch-action: pan-x pan-down pinch-zoom;\n}\n\n.__PREFIX__release {\n .__PREFIX__icon {\n transform: rotate(180deg);\n }\n}\n" 118 }, 119 onInit: function() {}, 120 onRefresh: function() { 121 return location.reload() 122 }, 123 resistanceFunction: function(e) { 124 return Math.min(1, e / 2.5) 125 }, 126 shouldPullToRefresh: function() { 127 return !window.scrollY 128 } 129 }, 130 r = ["mainElement", "ptrElement", "triggerElement"], 131 i = function(t) { 132 var i = {}; 133 return Object.keys(s).forEach(function(e) { 134 i[e] = t[e] || s[e] 135 }), i.refreshTimeout = "number" == typeof t.refreshTimeout ? t.refreshTimeout : s.refreshTimeout, r.forEach(function(e) { 136 "string" == typeof i[e] && (i[e] = document.querySelector(i[e])) 137 }), e.events || (e.events = n()), i.contains = function(e) { 138 return i.triggerElement.contains(e) 139 }, i.destroy = function() { 140 clearTimeout(e.timeout), e.handlers.splice(i.offset, 1) 141 }, i 142 }; 143 return { 144 setPassiveMode: function(t) { 145 e.passive = t 146 }, 147 destroyAll: function() { 148 e.events && (e.events.destroy(), e.events = null), e.handlers.forEach(function(e) { 149 e.destroy() 150 }) 151 }, 152 init: function(t) { 153 void 0 === t && (t = {}); 154 var n = i(t); 155 return n.offset = e.handlers.push(n) - 1, n 156 }, 157 _: { 158 setupHandler: i, 159 setupEvents: n, 160 setupDOM: t.setupDOM, 161 onReset: t.onReset, 162 update: t.update 163 } 164 } 165}); 166//# sourceMappingURL=pulltorefresh.min.js.mapââ
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.