ajaxify 8.2.6 → 8.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ajaxify.js CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * Copyright Arvind Gupta; MIT Licensed
7
7
  *
8
- * Version 8.2.6
8
+ * Version 8.2.7
9
9
  */
10
10
 
11
11
  /* INTERFACE: See also https://4nf.org/interface/
@@ -19,7 +19,7 @@ Ajaxifies the whole site, dynamically replacing the elements specified in "eleme
19
19
 
20
20
  let Ay; //to become the global handle for the main Ajaxify parent class - if used by you already, please rename and rebuild
21
21
 
22
- function _won(a, b, c = false) { if(c === false) c = {once: true}; window.addEventListener(a, b, c); };
22
+ function _won(a, b, c = false) { if(c === false) c = {once: true}; setTimeout( () => window.addEventListener(a, b, c) ); };
23
23
 
24
24
  //Module global helpers
25
25
  let rootUrl = location.origin, inlineclass = "ajy-inline",
@@ -56,7 +56,7 @@ Ay.s = {
56
56
  // visual effects settings
57
57
  requestDelay : 0, //in msec - Delay of Pronto request
58
58
  scrolltop : "s", // Smart scroll, true = always scroll to top of page, false = no scroll
59
- scrollDelay : 0, // Minimal delay on all scroll effects in milliseconds, useful in case of e.g. smooth scroll
59
+ scrollDelay : false, // Minimal delay on all scroll effects in milliseconds, useful in case of e.g. smooth scroll
60
60
  bodyClasses : true, // Copy body attributes from target page, set to "false" to disable
61
61
 
62
62
  // script and style handling settings, prefetch
@@ -700,7 +700,9 @@ class Scrolly { constructor() { if ('scrollRestoration' in history) history.scro
700
700
  if(Ay.s.scrolltop == "s") this.s(Ay.offsets.l(o)); //smart scroll -> lookup and restore offset
701
701
  else Ay.s.scrolltop && this.s(0); //scrolltop true -> scroll to top of page
702
702
  }
703
- s(o){ setTimeout(() => window.scrollTo(0, o), Ay.s.scrollDelay) } //scroll to offset
703
+ s(o){ if(Ay.s.scrollDelay === false) window.scrollTo(0, o); //scroll to offset
704
+ else setTimeout(() => window.scrollTo(0, o), Ay.s.scrollDelay);
705
+ }
704
706
  }
705
707
 
706
708
  // The HAPi class
package/ajaxify.min.js CHANGED
@@ -1 +1 @@
1
- let Ay;function _won(t,e,r=!1){!1===r&&(r={once:!0}),window.addEventListener(t,e,r)}let rootUrl=location.origin,inlineclass="ajy-inline",bdy,qa=(t,e=document)=>e.querySelectorAll(t),qs=(t,e=document)=>e.querySelector(t),qha=t=>qs("head").appendChild(t),prC=t=>t.parentNode.removeChild(t),dcE=t=>document.createElement(t),_copyAttributes=(t,e,r)=>{r&&[...t.attributes].forEach(e=>t.removeAttribute(e.name)),[...e.attributes].forEach(e=>"ajy-body"==e.nodeValue||t.setAttribute(e.nodeName,e.nodeValue))};class Ajaxify{constructor(options){function _on(t,e,r,s=document){s.addEventListener(t,function(t){for(var s=t.target;s&&s!=this;s=s.parentNode)if(s.matches(e)){r(s,t);break}},!!t.iO("mo"))}String.prototype.iO=function(t){return this.toString().indexOf(t)+1},Ay=this,Ay.s={elements:"body",selector:"a:not(.no-ajaxy)",forms:"form:not(.no-ajaxy)",canonical:!1,refresh:!1,requestDelay:0,scrolltop:"s",scrollDelay:0,bodyClasses:!0,deltas:!0,asyncdef:!0,alwayshints:!1,inline:!0,inlinehints:!1,inlineskip:"adsbygoogle",inlineappend:!0,intevents:!0,style:!0,prefetchoff:!1,verbosity:0,memoryoff:!1,cb:0,pluginon:!0,passCount:!1},Ay.pass=0,Ay.currentURL="",Ay.h={},Ay.parse=(t,e)=>((e=dcE("div")).insertAdjacentHTML("afterbegin",t),e.firstElementChild),Ay.trigger=(t,e)=>{let r=document.createEvent("HTMLEvents");r.initEvent("pronto."+t,!0,!1),r.data=e||Ay.Rq("e"),window.dispatchEvent(r)},Ay.internal=t=>!!t&&("object"==typeof t&&(t=t.href),""===t||t.substring(0,rootUrl.length)===rootUrl||!t.iO(":")),Ay.intevents=()=>{let t=function(t,e,r=!1){(this===document||this===window)&&"DOMContentLoaded"==t?setTimeout(e):this.ael(t,e,r)};EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=t};class Hints{constructor(t){let e=this;e.list="string"==typeof t&&t.length>0&&t.split(", "),e.find=t=>!!t&&!!e.list&&e.list.some(e=>t.iO(e))}}function lg(t){Ay.s.verbosity&&console&&console.log(t)}class GetPage{constructor(){let t=0,e=0,r=0,s="",i=0,n=0,a=0,y=/<\!DOCTYPE[^>]*>/i,o=/<(html|head|link)([\s\>])/gi,l=/<(body)([\s\>])/gi,c=/<\/(html|head|body|link)\>/gi,A='<div class="ajy-$1"$2',h='<div id="ajy-$1"$2';this.a=function(i,y,o){if(!i)return Ay.cache.g();if(i.iO("/")){if(e=y,r==i)return;return p(i)}if("+"===i)return r=y,e=o,p(y,!0);if("a"===i){n>0&&(m(),a.abort());return}return"s"===i?(n?1:0)+s:"-"===i?f(y):"x"===i?t:Ay.cache.g()?"body"===i?qs("#ajy-"+i,Ay.cache.g()):"script"===i?qa(i,Ay.cache.g()):qs("title"===i?i:".ajy-"+i,Ay.cache.g()):void 0};let f=t=>(Ay.pass++,u(t),qa("body > script").forEach(t=>!!t.classList.contains(inlineclass)&&prC(t)),Ay.scripts(!0),Ay.scripts("s"),Ay.scripts("c")),p=(t,s)=>(t.iO("#")&&(t=t.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(t))?$(t,s):(r=0,e)?e():void 0,d=(t,e)=>{if(e){var r=e.cloneNode(!0);qa("script",r).forEach(t=>prC(t)),_copyAttributes(t,r,!0),t.innerHTML=r.innerHTML}},u=t=>Ay.cache.g()&&!g(t)&&t.forEach(function(t){d(t,qs("#"+t.getAttribute("id"),Ay.cache.g()))}),g=t=>"body"==t[0].tagName.toLowerCase()&&(d(bdy,qs("#ajy-body",Ay.cache.g())),1),$=(e,r)=>{var i=Ay.Rq("is");s=r?"p":"c",a=new AbortController,n++,fetch(e,{method:i?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:i?Ay.Rq("d"):null,signal:a.signal}).then(s=>{if(!s.ok||!b(s)){r||(location.href=e);return}return t=s,s.text()}).then(r=>{if(m(1),r)return t.responseText=r,q(e,r)}).catch(t=>{if("AbortError"!==t.name)try{return Ay.trigger("error",t),lg("Response text : "+t.message),q(e,t.message,t)}catch(r){}}).finally(()=>n--)},m=t=>(r=0,t?0:e=0),q=(t,r,s)=>Ay.cache.s(Ay.parse(v(r)))&&(Ay.pages.p([t,Ay.cache.g()]),1)&&e&&e(s),b=t=>(i=t.headers.get("content-type"))&&(i.iO("html")||i.iO("form-")),v=t=>dcE("html").innerHTML=R(t).trim(),R=t=>String(t).replace(y,"").replace(o,A).replace(l,h).replace(c,"</div>")}}class Scripts{constructor(){let S=!1,txt=0;Ay.h.inlinehints=new Hints(Ay.s.inlinehints),Ay.h.inlineskip=new Hints(Ay.s.inlineskip),this.a=function(t){return"i"===t?(S||(S={}),!0):"s"===t?_allstyle(S.y):"1"===t?(Ay.detScripts.d(S),_addScripts(S)):"c"===t?!!Ay.s.canonical&&!!S.can&&S.can.getAttribute("href"):"d"===t?Ay.detScripts.d(S):t&&"object"==typeof t?_onetxt(t):void(Ay.scripts("d")||_addScripts(S))};let _allstyle=t=>!Ay.s.style||!t||(qa("style",qs("head")).forEach(t=>prC(t)),t.forEach(t=>{let e=Ay.parse("<style>"+t.textContent+"</style>");_copyAttributes(e,t),qha(e)})),_onetxt=t=>!(txt=t.textContent).iO(").ajaxify(")&&!txt.iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(txt)||t.classList.contains("ajaxy")||Ay.h.inlinehints.find(txt))&&_addtxt(t),_addtxt=S=>{if(txt&&txt.length){if(Ay.s.inlineappend||S.getAttribute("type")&&!S.getAttribute("type").iO("text/javascript"))try{return _apptxt(S)}catch(e){}try{eval(txt)}catch(e1){lg("Error in inline script : "+txt+"\nError code : "+e1)}}},_apptxt=t=>{let e=dcE("script");_copyAttributes(e,t),e.classList.add(inlineclass);try{e.appendChild(document.createTextNode(t.textContent))}catch(r){e.text=t.textContent}return qs("body").appendChild(e)},_addScripts=t=>(Ay.addAll.a(t.c,"href"),Ay.addAll.a(t.j,"src"))}}class RQ{constructor(){let t=0,e=0,r=0,s=0,i=0,n=0,a=!1;this.a=function(o,l,c){if("="===o)return l?n===Ay.currentURL||n===a:n===Ay.currentURL;if("!"===o)return a=n;if("?"===o){let A=Ay.fn("s");return A.iO("0")||l||Ay.fn("a"),("1c"!==A||!l)&&("1p"===A&&l&&Ay.s.memoryoff&&Ay.fn("a"),!0)}if("v"===o){if(!l||(y(l,c),!Ay.internal(n)))return!1;o="i"}return"i"===o?(t=!1,e=null,r=!0,s=!1,n):"h"===o?(l&&("string"==typeof l&&(i=0),n=l.href?l.href:l),n):"e"===o?(l&&y(l,c),i||n):"p"===o?(void 0!==l&&(r=l),r):"is"===o?(void 0!==l&&(t=l),t):"d"===o?(l&&(e=l),e):"C"===o?(void 0!==l&&(s=l),s):"c"===o?!s||s===l||l.iO("#")||l.iO("?")?l:s:void 0};let y=(t,e)=>n="string"!=typeof(i=t)?i.currentTarget&&i.currentTarget.href||e&&e.href||i.currentTarget.action||i.originalEvent.state.url:i}}class Frms{constructor(){let t=0,e=0;this.a=function(i,n){Ay.s.forms&&i&&("d"===i&&(e=n),"a"===i&&e.forEach(e=>{Array.prototype.filter.call(qa(Ay.s.forms,e),function(t){let e=t.getAttribute("action");return Ay.internal(e&&e.length>0?e:Ay.currentURL)}).forEach(e=>{e.addEventListener("submit",e=>{t=e.target,n=r();var i="get",a=t.getAttribute("method");a.length>0&&"post"==a.toLowerCase()&&(i="post");var y,o=t.getAttribute("action");return y=o&&o.length>0?o:Ay.currentURL,Ay.Rq("v",e),"get"==i?y=s(y,n):(Ay.Rq("is",!0),Ay.Rq("d",n)),Ay.trigger("submit",y),Ay.pronto(0,{href:y}),e.preventDefault(),!1})})}))};let r=()=>{let e=new FormData(t),r=qs("input[name][type=submit]",t);return r&&e.append(r.getAttribute("name"),r.value),e},s=(t,e)=>{let r="";for(var[s,i]of(t.iO("?")&&(t=t.substring(0,t.iO("?"))),e.entries()))r+=`${s}=${encodeURIComponent(i)}&`;return`${t}?${r.slice(0,-1)}`}}}class Pronto{constructor(){let t=0,e=0,r=150,s=0;Ay.h.prefetchoff=new Hints(Ay.s.prefetchoff),this.a=function(e,r){if(r){if("i"===r)return bdy=document.body,e.length||(e="body"),t=qa(e),Ay.frms=new Frms().a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,i(),e;if("object"==typeof r){Ay.Rq("h",r),c();return}r.iO("/")&&(Ay.Rq("h",r),c(!0))}};let i=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",h),!0!==Ay.s.prefetchoff&&(_on("mouseenter",Ay.s.selector,n),_on("mouseleave",Ay.s.selector,a),_on("touchstart",Ay.s.selector,y)),_on("click",Ay.s.selector,l,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",t),Ay.s.idleTime&&Ay.slides("i")},n=(t,e)=>(a(),s=setTimeout(()=>y(t,e),r)),a=()=>clearTimeout(s),y=(t,e)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var r=Ay.Rq("v",e,t);Ay.Rq("=",!0)||!r||Ay.h.prefetchoff.find(r)||Ay.fn("+",r,()=>!1)}},o=t=>(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),l=(t,e,r)=>{if(Ay.Rq("?")){var s=Ay.Rq("v",e,t);if(!(!s||d(t))){if("#"===s.substr(-1))return!0;if(u())return Ay.hApi.r(s),!0;Ay.scrolly.p(),o(e),Ay.Rq("=")&&Ay.hApi.r(),(Ay.s.refresh||!Ay.Rq("="))&&c(r)}}},c=t=>{Ay.Rq("!"),t&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),t=>{t&&(lg("Error in _request : "+t),Ay.trigger("error",t)),A()})},A=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(e&&clearTimeout(e),e=setTimeout(f,Ay.s.requestDelay)):f()},h=t=>{var e=window.location.href;Ay.Rq("i"),Ay.Rq("h",e),Ay.Rq("p",!1),Ay.scrolly.p(),e&&e!==Ay.currentURL&&(Ay.trigger("request"),Ay.fn(e,A))},f=()=>{Ay.trigger("load"),Ay.s.bodyClasses&&_copyAttributes(bdy,Ay.fn("body"),!0);var e,r=Ay.Rq("h");r=Ay.Rq("c",r),Ay.Rq("p")?Ay.hApi.p(r):Ay.hApi.r(r),(e=Ay.fn("title"))&&(qs("title").innerHTML=e.innerHTML),Ay.Rq("C",Ay.fn("-",t)),Ay.frms("a"),Ay.scrolly.l(),p(r),Ay.trigger("render"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},p=t=>{t="/"+t.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",t):void 0!==window._gaq&&window._gaq.push(["_trackPageview",t])},d=t=>{var e=Ay.Rq("h"),r=Ay.Rq("e"),s=r.currentTarget.target||t.target;return r.which>1||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||"_blank"===s||e.iO("wp-login")||e.iO("wp-admin")},u=()=>{var t=Ay.Rq("e");return t.hash&&t.href.replace(t.hash,"")===window.location.href.replace(location.hash,"")||t.href===window.location.href+"#"}}}Ay.init=()=>{let t=options;return t&&"string"==typeof t?Ay.pronto(0,t):("complete"!==document.readyState&&("loading"===document.readyState||document.documentElement.doScroll)?document.addEventListener("DOMContentLoaded",run):run(),Ay)};let run=()=>{Ay.s=Object.assign(Ay.s,options),(Ay.pages=new Pages).f(),Ay.pronto=new Pronto().a,load()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts("1"))},load=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(lg("Ajaxify loaded..."),Ay.s.intevents&&Ay.intevents(),Ay.scripts=new Scripts().a,Ay.scripts("i"),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new Hints(Ay.s.memoryoff),Ay.fn=Ay.getPage=new GetPage().a,Ay.detScripts=new DetScripts,Ay.addAll=new AddAll,Ay.h.alwayshints=new Hints(Ay.s.alwayshints),Ay.Rq=new RQ().a,!0):(lg("Gracefully exiting..."),!1);Ay.init()}}class Cache{g(){return this.d}s(t){return this.d=t}l(t){let e=Ay.memory.l(t);return this.s(!1===e?e:Ay.pages.l(e))}}class Memory{l(t){return!!t&&!0!==Ay.s.memoryoff&&(!1===Ay.s.memoryoff?t:!Ay.h.memoryoff.find(t)&&t)}}class Pages{f(){this.d=[]}l(t){if(this.P(t))return this.d[this.i][1]}p(t){this.P(t[0])?this.d[this.i]=t:this.d.push(t)}P(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class DetScripts{d(t){if(!(this.h=Ay.pass?Ay.fn("head"):qs("head")))return!0;this.lk=qa(Ay.pass?".ajy-link":"link",this.h),t.j=Ay.pass?Ay.fn("script"):qa("script"),t.c=this.x("stylesheet"),t.y=qa("style",this.h),t.can=this.x("canonical")}x(t){return Array.prototype.filter.call(this.lk,e=>e.getAttribute("rel").iO(t))}}class Offsets{f(){this.d=[]}l(t){return t.iO("?")&&(t=t.split("?")[0]),this.O(t)?this.d[this.i][1]:0}p(t){let e=t.iO("?")?t.split("?")[0]:t,r=e.iO("#")?e.split("#")[0]:e,s=[r,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(r)?this.d[this.i]=s:this.d.push(s)}O(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class Scrolly{constructor(){"scrollRestoration"in history&&(history.scrollRestoration="manual")}p(){"s"==Ay.s.scrolltop&&Ay.offsets.p(Ay.currentURL)}l(){let t=Ay.currentURL;if(t.iO("#")&&t.iO("#")<t.length-1){let e=qs("#"+t.split("#")[1]);if(!e)return;let r=e.getBoundingClientRect();return this.s(r.top+window.pageYOffset-document.documentElement.clientTop)}"s"==Ay.s.scrolltop?this.s(Ay.offsets.l(t)):Ay.s.scrolltop&&this.s(0)}s(t){setTimeout(()=>window.scrollTo(0,t),Ay.s.scrollDelay)}}class HApi{r(t){let e=this.u(t);history.replaceState({url:e},"state-"+e,e)}p(t){let e=this.u(t);e!==window.location.href&&history.pushState({url:e},"state-"+e,e)}u(t){return t&&(Ay.currentURL=t),Ay.currentURL}}class AddAll{constructor(){this.CSS=[],this.JS=[]}a(t,e){if(t.length&&"n"!==Ay.s.deltas){if(this.PK=e,!Ay.s.deltas)return t.forEach(t=>this.iScript(t));this.O="href"==e?this.CSS:this.JS,t.forEach(t=>{let r=this.gA(t);if(!Ay.pass)return r&&this.O.push(r);if("always"==t.getAttribute("data-class")||Ay.h.alwayshints.find(r)){this.removeScript(),this.iScript(t);return}if(r){this.O.some(t=>t==r)||(this.O.push(r),this.iScript(t));return}"href"==e||t.classList.contains("no-ajaxy")||Ay.scripts(t)})}}gA(t){return this.u=t.getAttribute(this.PK)}iScript(t){if(this.gA(t),"href"==this.PK)return qha(Ay.parse('<link rel="stylesheet" type="text/css" href="*" />'.replace("*",this.u)));if(!this.u)return Ay.scripts(t);var e=dcE("script");e.async=Ay.s.asyncdef,_copyAttributes(e,t),qha(e)}removeScript(){qa(("href"==this.PK?'link[href*="!"]':'script[src*="!"]').replace("!",this.u)).forEach(t=>prC(t))}}
1
+ let Ay;function _won(t,e,r=!1){!1===r&&(r={once:!0}),setTimeout(()=>window.addEventListener(t,e,r))}let rootUrl=location.origin,inlineclass="ajy-inline",bdy,qa=(t,e=document)=>e.querySelectorAll(t),qs=(t,e=document)=>e.querySelector(t),qha=t=>qs("head").appendChild(t),prC=t=>t.parentNode.removeChild(t),dcE=t=>document.createElement(t),_copyAttributes=(t,e,r)=>{r&&[...t.attributes].forEach(e=>t.removeAttribute(e.name)),[...e.attributes].forEach(e=>"ajy-body"==e.nodeValue||t.setAttribute(e.nodeName,e.nodeValue))};class Ajaxify{constructor(options){function _on(t,e,r,s=document){s.addEventListener(t,function(t){for(var s=t.target;s&&s!=this;s=s.parentNode)if(s.matches(e)){r(s,t);break}},!!t.iO("mo"))}String.prototype.iO=function(t){return this.toString().indexOf(t)+1},Ay=this,Ay.s={elements:"body",selector:"a:not(.no-ajaxy)",forms:"form:not(.no-ajaxy)",canonical:!1,refresh:!1,requestDelay:0,scrolltop:"s",scrollDelay:!1,bodyClasses:!0,deltas:!0,asyncdef:!0,alwayshints:!1,inline:!0,inlinehints:!1,inlineskip:"adsbygoogle",inlineappend:!0,intevents:!0,style:!0,prefetchoff:!1,verbosity:0,memoryoff:!1,cb:0,pluginon:!0,passCount:!1},Ay.pass=0,Ay.currentURL="",Ay.h={},Ay.parse=(t,e)=>((e=dcE("div")).insertAdjacentHTML("afterbegin",t),e.firstElementChild),Ay.trigger=(t,e)=>{let r=document.createEvent("HTMLEvents");r.initEvent("pronto."+t,!0,!1),r.data=e||Ay.Rq("e"),window.dispatchEvent(r)},Ay.internal=t=>!!t&&("object"==typeof t&&(t=t.href),""===t||t.substring(0,rootUrl.length)===rootUrl||!t.iO(":")),Ay.intevents=()=>{let t=function(t,e,r=!1){(this===document||this===window)&&"DOMContentLoaded"==t?setTimeout(e):this.ael(t,e,r)};EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=t};class Hints{constructor(t){let e=this;e.list="string"==typeof t&&t.length>0&&t.split(", "),e.find=t=>!!t&&!!e.list&&e.list.some(e=>t.iO(e))}}function lg(t){Ay.s.verbosity&&console&&console.log(t)}class GetPage{constructor(){let t=0,e=0,r=0,s="",i=0,n=0,a=0,y=/<\!DOCTYPE[^>]*>/i,o=/<(html|head|link)([\s\>])/gi,l=/<(body)([\s\>])/gi,c=/<\/(html|head|body|link)\>/gi,A='<div class="ajy-$1"$2',h='<div id="ajy-$1"$2';this.a=function(i,y,o){if(!i)return Ay.cache.g();if(i.iO("/")){if(e=y,r==i)return;return p(i)}if("+"===i)return r=y,e=o,p(y,!0);if("a"===i){n>0&&(m(),a.abort());return}return"s"===i?(n?1:0)+s:"-"===i?f(y):"x"===i?t:Ay.cache.g()?"body"===i?qs("#ajy-"+i,Ay.cache.g()):"script"===i?qa(i,Ay.cache.g()):qs("title"===i?i:".ajy-"+i,Ay.cache.g()):void 0};let f=t=>(Ay.pass++,u(t),qa("body > script").forEach(t=>!!t.classList.contains(inlineclass)&&prC(t)),Ay.scripts(!0),Ay.scripts("s"),Ay.scripts("c")),p=(t,s)=>(t.iO("#")&&(t=t.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(t))?$(t,s):(r=0,e)?e():void 0,d=(t,e)=>{if(e){var r=e.cloneNode(!0);qa("script",r).forEach(t=>prC(t)),_copyAttributes(t,r,!0),t.innerHTML=r.innerHTML}},u=t=>Ay.cache.g()&&!g(t)&&t.forEach(function(t){d(t,qs("#"+t.getAttribute("id"),Ay.cache.g()))}),g=t=>"body"==t[0].tagName.toLowerCase()&&(d(bdy,qs("#ajy-body",Ay.cache.g())),1),$=(e,r)=>{var i=Ay.Rq("is");s=r?"p":"c",a=new AbortController,n++,fetch(e,{method:i?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:i?Ay.Rq("d"):null,signal:a.signal}).then(s=>{if(!s.ok||!b(s)){r||(location.href=e);return}return t=s,s.text()}).then(r=>{if(m(1),r)return t.responseText=r,q(e,r)}).catch(t=>{if("AbortError"!==t.name)try{return Ay.trigger("error",t),lg("Response text : "+t.message),q(e,t.message,t)}catch(r){}}).finally(()=>n--)},m=t=>(r=0,t?0:e=0),q=(t,r,s)=>Ay.cache.s(Ay.parse(v(r)))&&(Ay.pages.p([t,Ay.cache.g()]),1)&&e&&e(s),b=t=>(i=t.headers.get("content-type"))&&(i.iO("html")||i.iO("form-")),v=t=>dcE("html").innerHTML=R(t).trim(),R=t=>String(t).replace(y,"").replace(o,A).replace(l,h).replace(c,"</div>")}}class Scripts{constructor(){let S=!1,txt=0;Ay.h.inlinehints=new Hints(Ay.s.inlinehints),Ay.h.inlineskip=new Hints(Ay.s.inlineskip),this.a=function(t){return"i"===t?(S||(S={}),!0):"s"===t?_allstyle(S.y):"1"===t?(Ay.detScripts.d(S),_addScripts(S)):"c"===t?!!Ay.s.canonical&&!!S.can&&S.can.getAttribute("href"):"d"===t?Ay.detScripts.d(S):t&&"object"==typeof t?_onetxt(t):void(Ay.scripts("d")||_addScripts(S))};let _allstyle=t=>!Ay.s.style||!t||(qa("style",qs("head")).forEach(t=>prC(t)),t.forEach(t=>{let e=Ay.parse("<style>"+t.textContent+"</style>");_copyAttributes(e,t),qha(e)})),_onetxt=t=>!(txt=t.textContent).iO(").ajaxify(")&&!txt.iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(txt)||t.classList.contains("ajaxy")||Ay.h.inlinehints.find(txt))&&_addtxt(t),_addtxt=S=>{if(txt&&txt.length){if(Ay.s.inlineappend||S.getAttribute("type")&&!S.getAttribute("type").iO("text/javascript"))try{return _apptxt(S)}catch(e){}try{eval(txt)}catch(e1){lg("Error in inline script : "+txt+"\nError code : "+e1)}}},_apptxt=t=>{let e=dcE("script");_copyAttributes(e,t),e.classList.add(inlineclass);try{e.appendChild(document.createTextNode(t.textContent))}catch(r){e.text=t.textContent}return qs("body").appendChild(e)},_addScripts=t=>(Ay.addAll.a(t.c,"href"),Ay.addAll.a(t.j,"src"))}}class RQ{constructor(){let t=0,e=0,r=0,s=0,i=0,n=0,a=!1;this.a=function(o,l,c){if("="===o)return l?n===Ay.currentURL||n===a:n===Ay.currentURL;if("!"===o)return a=n;if("?"===o){let A=Ay.fn("s");return A.iO("0")||l||Ay.fn("a"),("1c"!==A||!l)&&("1p"===A&&l&&Ay.s.memoryoff&&Ay.fn("a"),!0)}if("v"===o){if(!l||(y(l,c),!Ay.internal(n)))return!1;o="i"}return"i"===o?(t=!1,e=null,r=!0,s=!1,n):"h"===o?(l&&("string"==typeof l&&(i=0),n=l.href?l.href:l),n):"e"===o?(l&&y(l,c),i||n):"p"===o?(void 0!==l&&(r=l),r):"is"===o?(void 0!==l&&(t=l),t):"d"===o?(l&&(e=l),e):"C"===o?(void 0!==l&&(s=l),s):"c"===o?!s||s===l||l.iO("#")||l.iO("?")?l:s:void 0};let y=(t,e)=>n="string"!=typeof(i=t)?i.currentTarget&&i.currentTarget.href||e&&e.href||i.currentTarget.action||i.originalEvent.state.url:i}}class Frms{constructor(){let t=0,e=0;this.a=function(i,n){Ay.s.forms&&i&&("d"===i&&(e=n),"a"===i&&e.forEach(e=>{Array.prototype.filter.call(qa(Ay.s.forms,e),function(t){let e=t.getAttribute("action");return Ay.internal(e&&e.length>0?e:Ay.currentURL)}).forEach(e=>{e.addEventListener("submit",e=>{t=e.target,n=r();var i="get",a=t.getAttribute("method");a.length>0&&"post"==a.toLowerCase()&&(i="post");var y,o=t.getAttribute("action");return y=o&&o.length>0?o:Ay.currentURL,Ay.Rq("v",e),"get"==i?y=s(y,n):(Ay.Rq("is",!0),Ay.Rq("d",n)),Ay.trigger("submit",y),Ay.pronto(0,{href:y}),e.preventDefault(),!1})})}))};let r=()=>{let e=new FormData(t),r=qs("input[name][type=submit]",t);return r&&e.append(r.getAttribute("name"),r.value),e},s=(t,e)=>{let r="";for(var[s,i]of(t.iO("?")&&(t=t.substring(0,t.iO("?"))),e.entries()))r+=`${s}=${encodeURIComponent(i)}&`;return`${t}?${r.slice(0,-1)}`}}}class Pronto{constructor(){let t=0,e=0,r=150,s=0;Ay.h.prefetchoff=new Hints(Ay.s.prefetchoff),this.a=function(e,r){if(r){if("i"===r)return bdy=document.body,e.length||(e="body"),t=qa(e),Ay.frms=new Frms().a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,i(),e;if("object"==typeof r){Ay.Rq("h",r),c();return}r.iO("/")&&(Ay.Rq("h",r),c(!0))}};let i=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",h),!0!==Ay.s.prefetchoff&&(_on("mouseenter",Ay.s.selector,n),_on("mouseleave",Ay.s.selector,a),_on("touchstart",Ay.s.selector,y)),_on("click",Ay.s.selector,l,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",t),Ay.s.idleTime&&Ay.slides("i")},n=(t,e)=>(a(),s=setTimeout(()=>y(t,e),r)),a=()=>clearTimeout(s),y=(t,e)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var r=Ay.Rq("v",e,t);Ay.Rq("=",!0)||!r||Ay.h.prefetchoff.find(r)||Ay.fn("+",r,()=>!1)}},o=t=>(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),l=(t,e,r)=>{if(Ay.Rq("?")){var s=Ay.Rq("v",e,t);if(!(!s||d(t))){if("#"===s.substr(-1))return!0;if(u())return Ay.hApi.r(s),!0;Ay.scrolly.p(),o(e),Ay.Rq("=")&&Ay.hApi.r(),(Ay.s.refresh||!Ay.Rq("="))&&c(r)}}},c=t=>{Ay.Rq("!"),t&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),t=>{t&&(lg("Error in _request : "+t),Ay.trigger("error",t)),A()})},A=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(e&&clearTimeout(e),e=setTimeout(f,Ay.s.requestDelay)):f()},h=t=>{var e=window.location.href;Ay.Rq("i"),Ay.Rq("h",e),Ay.Rq("p",!1),Ay.scrolly.p(),e&&e!==Ay.currentURL&&(Ay.trigger("request"),Ay.fn(e,A))},f=()=>{Ay.trigger("load"),Ay.s.bodyClasses&&_copyAttributes(bdy,Ay.fn("body"),!0);var e,r=Ay.Rq("h");r=Ay.Rq("c",r),Ay.Rq("p")?Ay.hApi.p(r):Ay.hApi.r(r),(e=Ay.fn("title"))&&(qs("title").innerHTML=e.innerHTML),Ay.Rq("C",Ay.fn("-",t)),Ay.frms("a"),Ay.scrolly.l(),p(r),Ay.trigger("render"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},p=t=>{t="/"+t.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",t):void 0!==window._gaq&&window._gaq.push(["_trackPageview",t])},d=t=>{var e=Ay.Rq("h"),r=Ay.Rq("e"),s=r.currentTarget.target||t.target;return r.which>1||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||"_blank"===s||e.iO("wp-login")||e.iO("wp-admin")},u=()=>{var t=Ay.Rq("e");return t.hash&&t.href.replace(t.hash,"")===window.location.href.replace(location.hash,"")||t.href===window.location.href+"#"}}}Ay.init=()=>{let t=options;return t&&"string"==typeof t?Ay.pronto(0,t):("complete"!==document.readyState&&("loading"===document.readyState||document.documentElement.doScroll)?document.addEventListener("DOMContentLoaded",run):run(),Ay)};let run=()=>{Ay.s=Object.assign(Ay.s,options),(Ay.pages=new Pages).f(),Ay.pronto=new Pronto().a,load()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts("1"))},load=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(lg("Ajaxify loaded..."),Ay.s.intevents&&Ay.intevents(),Ay.scripts=new Scripts().a,Ay.scripts("i"),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new Hints(Ay.s.memoryoff),Ay.fn=Ay.getPage=new GetPage().a,Ay.detScripts=new DetScripts,Ay.addAll=new AddAll,Ay.h.alwayshints=new Hints(Ay.s.alwayshints),Ay.Rq=new RQ().a,!0):(lg("Gracefully exiting..."),!1);Ay.init()}}class Cache{g(){return this.d}s(t){return this.d=t}l(t){let e=Ay.memory.l(t);return this.s(!1===e?e:Ay.pages.l(e))}}class Memory{l(t){return!!t&&!0!==Ay.s.memoryoff&&(!1===Ay.s.memoryoff?t:!Ay.h.memoryoff.find(t)&&t)}}class Pages{f(){this.d=[]}l(t){if(this.P(t))return this.d[this.i][1]}p(t){this.P(t[0])?this.d[this.i]=t:this.d.push(t)}P(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class DetScripts{d(t){if(!(this.h=Ay.pass?Ay.fn("head"):qs("head")))return!0;this.lk=qa(Ay.pass?".ajy-link":"link",this.h),t.j=Ay.pass?Ay.fn("script"):qa("script"),t.c=this.x("stylesheet"),t.y=qa("style",this.h),t.can=this.x("canonical")}x(t){return Array.prototype.filter.call(this.lk,e=>e.getAttribute("rel").iO(t))}}class Offsets{f(){this.d=[]}l(t){return t.iO("?")&&(t=t.split("?")[0]),this.O(t)?this.d[this.i][1]:0}p(t){let e=t.iO("?")?t.split("?")[0]:t,r=e.iO("#")?e.split("#")[0]:e,s=[r,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(r)?this.d[this.i]=s:this.d.push(s)}O(t){return(this.i=this.d.findIndex(e=>e[0]==t))+1}}class Scrolly{constructor(){"scrollRestoration"in history&&(history.scrollRestoration="manual")}p(){"s"==Ay.s.scrolltop&&Ay.offsets.p(Ay.currentURL)}l(){let t=Ay.currentURL;if(t.iO("#")&&t.iO("#")<t.length-1){let e=qs("#"+t.split("#")[1]);if(!e)return;let r=e.getBoundingClientRect();return this.s(r.top+window.pageYOffset-document.documentElement.clientTop)}"s"==Ay.s.scrolltop?this.s(Ay.offsets.l(t)):Ay.s.scrolltop&&this.s(0)}s(t){!1===Ay.s.scrollDelay?window.scrollTo(0,t):setTimeout(()=>window.scrollTo(0,t),Ay.s.scrollDelay)}}class HApi{r(t){let e=this.u(t);history.replaceState({url:e},"state-"+e,e)}p(t){let e=this.u(t);e!==window.location.href&&history.pushState({url:e},"state-"+e,e)}u(t){return t&&(Ay.currentURL=t),Ay.currentURL}}class AddAll{constructor(){this.CSS=[],this.JS=[]}a(t,e){if(t.length&&"n"!==Ay.s.deltas){if(this.PK=e,!Ay.s.deltas)return t.forEach(t=>this.iScript(t));this.O="href"==e?this.CSS:this.JS,t.forEach(t=>{let r=this.gA(t);if(!Ay.pass)return r&&this.O.push(r);if("always"==t.getAttribute("data-class")||Ay.h.alwayshints.find(r)){this.removeScript(),this.iScript(t);return}if(r){this.O.some(t=>t==r)||(this.O.push(r),this.iScript(t));return}"href"==e||t.classList.contains("no-ajaxy")||Ay.scripts(t)})}}gA(t){return this.u=t.getAttribute(this.PK)}iScript(t){if(this.gA(t),"href"==this.PK)return qha(Ay.parse('<link rel="stylesheet" type="text/css" href="*" />'.replace("*",this.u)));if(!this.u)return Ay.scripts(t);var e=dcE("script");e.async=Ay.s.asyncdef,_copyAttributes(e,t),qha(e)}removeScript(){qa(("href"==this.PK?'link[href*="!"]':'script[src*="!"]').replace("!",this.u)).forEach(t=>prC(t))}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ajaxify",
3
- "version": "8.2.6",
3
+ "version": "8.2.7",
4
4
  "description": "Ajaxify - The Ajax Plugin",
5
5
  "main": "ajaxify.min.js",
6
6
  "scripts": {