HummingBirdAnimeClient/public/es/anon.min.js

2 lines
3.6 KiB
JavaScript

const e=(t,n)=>{let o=(t.document||t.ownerDocument).querySelectorAll(n),r=e.length;for(;--r>=0&&o.item(r)!==t;);return r>-1},t={noop:()=>{},$(e,t=null){if("string"!=typeof e)return e;t=null!==t&&1===t.nodeType?t:document;let n=[];return e.match(/^#([\w]+$)/)?n.push(document.getElementById(e.split("#")[1])):n=[].slice.apply(t.querySelectorAll(e)),n},hasElement:e=>t.$(e).length>0,scrollToTop(){t.$("header")[0].scrollIntoView(!0)},hide(e){"string"==typeof e&&(e=t.$(e)),Array.isArray(e)?e.forEach(e=>e.setAttribute("hidden","hidden")):e.setAttribute("hidden","hidden")},show(e){"string"==typeof e&&(e=t.$(e)),Array.isArray(e)?e.forEach(e=>e.removeAttribute("hidden")):e.removeAttribute("hidden")},showMessage(e,n){let o=`<div class='message ${e}'>\n\t\t\t\t<span class='icon'></span>\n\t\t\t\t${n}\n\t\t\t\t<span class='close'></span>\n\t\t\t</div>`,r=t.$(".message");void 0!==r[0]&&r[0].remove(),t.$("header")[0].insertAdjacentHTML("beforeend",o)},closestParent(t,n){if(void 0!==Element.prototype.closest)return t.closest(n);for(;t!==document.documentElement;){if(e(t,n))return t;t=t.parentElement}return null},url(e){let t="//"+document.location.host;return t+="/"===e.charAt(0)?e:"/"+e,t},throttle(e,t,n){let o=!1;return function(...r){const a=n||this;o||(t.apply(a,r),o=!0,setTimeout((function(){o=!1}),e))}}};function n(e,t,o){t.match(/^([\w\-]+)$/)||t.split(" ").forEach(t=>{n(e,t,o)}),e.addEventListener(t,o,!1)}function o(e){let t=[];return Object.keys(e).forEach(n=>{let o=e[n].toString();n=encodeURIComponent(n),o=encodeURIComponent(o),t.push(`${n}=${o}`)}),t.join("&")}t.on=(e,o,r,a)=>{void 0===a?(a=r,t.$(e).forEach(e=>{n(e,o,a)})):t.$(e).forEach(e=>{!function(e,o,r,a){n(e,r,n=>{t.$(o,e).forEach(e=>{n.target==e&&(a.call(e,n),n.stopPropagation())})})}(e,r,o,a)})},t.ajax=(e,n)=>{const r={data:{},type:"GET",dataType:"",success:t.noop,mimeType:"application/x-www-form-urlencoded",error:t.noop};n={...r,...n};let a=new XMLHttpRequest,s=String(n.type).toUpperCase();"GET"===s&&(e+=e.match(/\?/)?o(n.data):"?"+o(n.data)),a.open(s,e),a.onreadystatechange=()=>{if(4===a.readyState){let e="";e="json"===a.responseType?JSON.parse(a.responseText):a.responseText,a.status>299?n.error.call(null,a.status,e,a.response):n.success.call(null,e,a.status)}},"json"===n.dataType?(n.data=JSON.stringify(n.data),n.mimeType="application/json"):n.data=o(n.data),a.setRequestHeader("Content-Type",n.mimeType),"GET"===s?a.send(null):a.send(n.data)},t.get=(e,n,o=null)=>(null===o&&(o=n,n={}),t.ajax(e,{data:n,success:o})),t.on("header","click",".message",(function(e){t.hide(e.target)})),t.on("form.js-delete","submit",(function(e){!1===confirm("Are you ABSOLUTELY SURE you want to delete this item?")&&(e.preventDefault(),e.stopPropagation())})),t.on(".js-clear-cache","click",(function(){t.get("/cache_purge",()=>{t.showMessage("success","Successfully purged api cache")})})),t.on(".vertical-tabs input","change",(function(e){const t=e.currentTarget.parentElement.getBoundingClientRect().top+window.pageYOffset;window.scrollTo({top:t,behavior:"smooth"})})),t.on(".media-filter","input",(function(e){const n=e.target.value,o=new RegExp(n,"i");""!==n?(t.$("article.media").forEach(e=>{const n=t.$(".name a",e)[0],r=String(n.textContent).trim();o.test(r)?t.show(e):t.hide(e)}),t.$("table.media-wrap tbody tr").forEach(e=>{const n=t.$("td.align-left",e)[0],r=t.$("a",n)[0],a=String(r.textContent).trim(),s=String(n.textContent).trim();o.test(a)||o.test(s)?t.show(e):t.hide(e)})):(t.show("article.media"),t.show("table.media-wrap tbody tr"))})),"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(e=>{console.log("Service worker registered",e.scope)}).catch(e=>{console.error("Failed to register service worker",e)});