ajaxify 8.2.9 → 8.3.1
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 +40 -15
- package/ajaxify.min.js +1 -1
- package/package.json +2 -2
package/ajaxify.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Copyright Arvind Gupta; MIT Licensed
|
|
7
7
|
*
|
|
8
|
-
* Version 8.
|
|
8
|
+
* Version 8.3.1
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
/* INTERFACE: See also https://4nf.org/interface/
|
|
@@ -19,7 +19,18 @@ 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
|
|
22
|
+
let iFn = function (a, b, c = false) {
|
|
23
|
+
// if "DOMContentLoaded" - execute function, else - add event listener
|
|
24
|
+
if ((this === document || this === window) && (a == "DOMContentLoaded")) {
|
|
25
|
+
c = c ? Object.assign(c, { once: true }) : { once: true };
|
|
26
|
+
}
|
|
27
|
+
return this && this.ael(a, b, c);
|
|
28
|
+
};
|
|
29
|
+
EventTarget.prototype.ael = EventTarget.prototype.addEventListener; // store original method
|
|
30
|
+
EventTarget.prototype.addEventListener = iFn; // start intercepting event listener addition
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
function _won(a, b, c = false) { if(c === false) c = {once: true}; window.addEventListener(a, b, c) };
|
|
23
34
|
|
|
24
35
|
//Module global helpers
|
|
25
36
|
let rootUrl = location.origin, inlineclass = "ajy-inline",
|
|
@@ -54,7 +65,7 @@ Ay.s = {
|
|
|
54
65
|
refresh : false, // Refresh the page even if link clicked is current page
|
|
55
66
|
|
|
56
67
|
// visual effects settings
|
|
57
|
-
requestDelay : 0, //in msec - Delay of Pronto request
|
|
68
|
+
requestDelay : 0, // in msec - Delay of Pronto request
|
|
58
69
|
scrolltop : "s", // Smart scroll, true = always scroll to top of page, false = no scroll
|
|
59
70
|
scrollDelay : false, // Minimal delay on all scroll effects in milliseconds, useful in case of e.g. smooth scroll
|
|
60
71
|
bodyClasses : true, // Copy body attributes from target page, set to "false" to disable
|
|
@@ -67,28 +78,41 @@ Ay.s = {
|
|
|
67
78
|
inlinehints : false, // strings - separated by ", " - if matched in any inline scripts - only these are executed - set "inline" to false beforehand
|
|
68
79
|
inlineskip : "adsbygoogle", // strings - separated by ", " - if matched in any inline scripts - these are NOT are executed - set "inline" to true beforehand
|
|
69
80
|
inlineappend : true, // append scripts to the main content element, instead of "eval"-ing them
|
|
70
|
-
intevents: true, // intercept events that are fired only on classic page load and simulate their trigger on ajax page load ("DOMContentLoaded")
|
|
71
81
|
style : true, // true = all style tags in the head loaded, false = style tags on target page ignored
|
|
72
82
|
prefetchoff : false, // Plugin pre-fetches pages on hoverIntent - true = set off completely // strings - separated by ", " - hints to select out
|
|
73
83
|
|
|
74
84
|
// debugging & advanced settings
|
|
75
|
-
verbosity : 0, //Debugging level to console: default off. Can be set to 10 and higher (in case of logging enabled)
|
|
85
|
+
verbosity : 0, // Debugging level to console: default off. Can be set to 10 and higher (in case of logging enabled)
|
|
76
86
|
memoryoff : false, // strings - separated by ", " - if matched in any URLs - only these are NOT executed - set to "true" to disable memory completely
|
|
77
87
|
cb : 0, // callback handler on completion of each Ajax request - default 0
|
|
78
88
|
pluginon : true, // Plugin set "on" or "off" (==false) manually
|
|
79
|
-
passCount: false // Show number of pass for debugging
|
|
89
|
+
passCount: false, // Show number of pass for debugging
|
|
90
|
+
DCLDelay: 0 // "DOMContentLoaded delay" - 0 = no delay, false = no triggering of DOMContentLoaded at all, otherwise delay in milliseconds
|
|
80
91
|
};
|
|
81
92
|
|
|
82
93
|
|
|
83
|
-
Ay.pass = 0; Ay.currentURL = ""; Ay.h = {};
|
|
94
|
+
Ay.pass = 0; Ay.running = false; Ay.currentURL = ""; Ay.h = {};
|
|
84
95
|
Ay.parse = (s, pl) => (pl = dcE('div'), pl.insertAdjacentHTML('afterbegin', s), pl.firstElementChild); // HTML parser
|
|
85
|
-
Ay.trigger = (t, e) => { let ev = document.createEvent('HTMLEvents'); ev.initEvent("pronto." + t, true, false); ev.data = e ? e : Ay.Rq("e"); window.dispatchEvent(ev); };
|
|
86
96
|
Ay.internal = (url) => { if (!url) return false; if (typeof(url) === "object") url = url.href; if (url==="") return true; return url.substring(0,rootUrl.length) === rootUrl || !url.iO(":"); };
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
};
|
|
97
|
+
|
|
98
|
+
// Trigger event
|
|
99
|
+
Ay.triggerEvent = (v) => {
|
|
100
|
+
if (Ay.s.DCLDelay !== false) {
|
|
101
|
+
const evnt = new Event(v, { bubbles: true, cancelable: true });
|
|
102
|
+
const dw = window; //v === "DOMContentLoaded" ? document : window;
|
|
103
|
+
Ay.s.DCLDelay === 0
|
|
104
|
+
? dw.dispatchEvent(evnt)
|
|
105
|
+
: setTimeout(() => {
|
|
106
|
+
dw.dispatchEvent(evnt);
|
|
107
|
+
}, Ay.s.DCLDelay);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
Ay.trigger = (t, e) => {
|
|
112
|
+
const ev = new Event("pronto." + t, { bubbles: true, cancelable: false });
|
|
113
|
+
ev.data = e ? e : Ay.Rq("e");
|
|
114
|
+
window.dispatchEvent(ev);
|
|
115
|
+
};
|
|
92
116
|
|
|
93
117
|
function _on(eventName, elementSelector, handler, el = document) { //e.currentTarget is document when the handler is called
|
|
94
118
|
el.addEventListener(eventName, function(e) {
|
|
@@ -508,7 +532,7 @@ let _init_p = () => {
|
|
|
508
532
|
|
|
509
533
|
Ay.scrolly.l();
|
|
510
534
|
_gaCaptureView(href);
|
|
511
|
-
Ay.
|
|
535
|
+
Ay.triggerEvent("DOMContentLoaded");
|
|
512
536
|
if(Ay.s.passCount) qs("#" + Ay.s.passCount).innerHTML = "Pass: " + Ay.pass;
|
|
513
537
|
if(Ay.s.cb) Ay.s.cb();
|
|
514
538
|
},
|
|
@@ -541,6 +565,8 @@ Ay.init = () => {
|
|
|
541
565
|
};
|
|
542
566
|
|
|
543
567
|
let run = () => {
|
|
568
|
+
if(Ay.running) return; //avoid multiple run attempts
|
|
569
|
+
Ay.running = true;
|
|
544
570
|
Ay.s = Object.assign(Ay.s, options);
|
|
545
571
|
(Ay.pages = new Pages()).f();
|
|
546
572
|
Ay.pronto = new Pronto().a;
|
|
@@ -557,7 +583,6 @@ let run = () => {
|
|
|
557
583
|
|
|
558
584
|
lg("Ajaxify loaded..."); //verbosity option steers, whether this initialisation message is output
|
|
559
585
|
|
|
560
|
-
if (Ay.s.intevents) Ay.intevents(); // intercept events
|
|
561
586
|
Ay.scripts = new Scrpts(); Ay.h.inlinehints = new Hints(Ay.s.inlinehints); Ay.h.inlineskip = new Hints(Ay.s.inlineskip);
|
|
562
587
|
Ay.cache = new Cache();
|
|
563
588
|
Ay.memory = new Memory(); Ay.h.memoryoff = new Hints(Ay.s.memoryoff);
|
package/ajaxify.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let Ay;function _won(t,e,s=!1){!1===s&&(s={once:!0}),setTimeout(()=>window.addEventListener(t,e,s))}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,s)=>{s&&[...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(t){function e(t,e,s,r=document){r.addEventListener(t,function(t){for(var r=t.target;r&&r!=this;r=r.parentNode)if(r.matches(e)){s(r,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 s=document.createEvent("HTMLEvents");s.initEvent("pronto."+t,!0,!1),s.data=e||Ay.Rq("e"),window.dispatchEvent(s)},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,s=!1){(this===document||this===window)&&"DOMContentLoaded"==t?setTimeout(e):this.ael(t,e,s)};EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=t};class s{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 r(t){Ay.s.verbosity&&console&&console.log(t)}class i{constructor(){let t=0,e=0,s=0,i="",n=0,a=0,y=0,o=/<\!DOCTYPE[^>]*>/i,l=/<(html|head)([\s\>])/gi,c=/<(body)([\s\>])/gi,h=/<\/(html|head|body)\>/gi,A='<div class="ajy-$1"$2',p='<div id="ajy-$1"$2';this.a=function(r,n,o){if(!r)return Ay.cache.g();if(r.iO("/")){if(e=n,s==r)return;return d(r)}if("+"===r)return s=n,e=o,d(n,!0);if("a"===r){a>0&&(q(),y.abort());return}return"s"===r?(a?1:0)+i:"-"===r?f(n):"x"===r?t:Ay.cache.g()?"body"===r?qs("#ajy-"+r,Ay.cache.g()):"script"===r?qa(r,Ay.cache.g()):qs("title"===r?r:".ajy-"+r,Ay.cache.g()):void 0};let f=t=>(Ay.pass++,g(t),qa("body > script").forEach(t=>!!t.classList.contains(inlineclass)&&prC(t)),Ay.scripts.t(),Ay.scripts.s(),Ay.scripts.c()),d=(t,r)=>(t.iO("#")&&(t=t.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(t))?m(t,r):(s=0,e)?e():void 0,u=(t,e)=>{if(e){var s=e.cloneNode(!0);qa("script",s).forEach(t=>prC(t)),_copyAttributes(t,s,!0),t.innerHTML=s.innerHTML}},g=t=>Ay.cache.g()&&!$(t)&&t.forEach(function(t){u(t,qs("#"+t.getAttribute("id"),Ay.cache.g()))}),$=t=>"body"==t[0].tagName.toLowerCase()&&(u(bdy,qs("#ajy-body",Ay.cache.g())),1),m=(e,s)=>{var n=Ay.Rq("is");i=s?"p":"c",y=new AbortController,a++,fetch(e,{method:n?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:n?Ay.Rq("d"):null,signal:y.signal}).then(r=>{if(!r.ok||!v(r)){s||(location.href=e);return}return t=r,r.text()}).then(s=>{if(q(1),s)return t.responseText=s,b(e,s)}).catch(t=>{if("AbortError"!==t.name)try{return Ay.trigger("error",t),r("Response text : "+t.message),b(e,t.message,t)}catch(s){}}).finally(()=>a--)},q=t=>(s=0,t?0:e=0),b=(t,s,r)=>Ay.cache.s(Ay.parse(R(s)))&&(Ay.pages.p([t,Ay.cache.g()]),1)&&e&&e(r),v=t=>(n=t.headers.get("content-type"))&&(n.iO("html")||n.iO("form-")),R=t=>dcE("html").innerHTML=_(t).trim(),_=t=>String(t).replace(o,"").replace(l,A).replace(c,p).replace(h,"</div>")}}class n{constructor(){let t=0,e=0,s=0,r=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 h=Ay.fn("s");return h.iO("0")||l||Ay.fn("a"),("1c"!==h||!l)&&("1p"===h&&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,s=!0,r=!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&&(s=l),s):"is"===o?(void 0!==l&&(t=l),t):"d"===o?(l&&(e=l),e):"C"===o?(void 0!==l&&(r=l),r):"c"===o?!r||r===l||l.iO("#")||l.iO("?")?l:r: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 a{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=s();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=r(y,n):(Ay.Rq("is",!0),Ay.Rq("d",n)),Ay.trigger("submit",y),Ay.pronto(0,{href:y}),e.preventDefault(),!1})})}))};let s=()=>{let e=new FormData(t),s=qs("input[name][type=submit]",t);return s&&e.append(s.getAttribute("name"),s.value),e},r=(t,e)=>{let s="";for(var[r,i]of(t.iO("?")&&(t=t.substring(0,t.iO("?"))),e.entries()))s+=`${r}=${encodeURIComponent(i)}&`;return`${t}?${s.slice(0,-1)}`}}}class y{constructor(){let t=0,i=0,n=150,y=0;Ay.h.prefetchoff=new s(Ay.s.prefetchoff),this.a=function(e,s){if(s){if("i"===s)return bdy=document.body,e.length||(e="body"),t=qa(e),Ay.frms=new a().a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,o(),e;if("object"==typeof s){Ay.Rq("h",s),f();return}s.iO("/")&&(Ay.Rq("h",s),f(!0))}};let o=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",u),!0!==Ay.s.prefetchoff&&(e("mouseenter",Ay.s.selector,l),e("mouseleave",Ay.s.selector,c),e("touchstart",Ay.s.selector,h)),e("click",Ay.s.selector,p,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",t),Ay.s.idleTime&&Ay.slides("i")},l=(t,e)=>(c(),y=setTimeout(()=>h(t,e),n)),c=()=>clearTimeout(y),h=(t,e)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var s=Ay.Rq("v",e,t);Ay.Rq("=",!0)||!s||Ay.h.prefetchoff.find(s)||Ay.fn("+",s,()=>!1)}},A=t=>(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()),p=(t,e,s)=>{if(Ay.Rq("?")){var r=Ay.Rq("v",e,t);if(!(!r||m(t))){if("#"===r.substr(-1))return!0;if(q())return Ay.hApi.r(r),!0;Ay.scrolly.p(),A(e),Ay.Rq("=")&&Ay.hApi.r(),(Ay.s.refresh||!Ay.Rq("="))&&f(s)}}},f=t=>{Ay.Rq("!"),t&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),t=>{t&&(r("Error in _request : "+t),Ay.trigger("error",t)),d()})},d=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(i&&clearTimeout(i),i=setTimeout(g,Ay.s.requestDelay)):g()},u=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,d))},g=()=>{Ay.trigger("load"),Ay.s.bodyClasses&&_copyAttributes(bdy,Ay.fn("body"),!0);var e,s=Ay.Rq("h");s=Ay.Rq("c",s),Ay.Rq("p")?Ay.hApi.p(s):Ay.hApi.r(s),(e=Ay.fn("title"))&&(qs("title").innerHTML=e.innerHTML),Ay.Rq("C",Ay.fn("-",t)),Ay.frms("a"),Ay.scrolly.l(),$(s),Ay.trigger("render"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},$=t=>{t="/"+t.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",t):void 0!==window._gaq&&window._gaq.push(["_trackPageview",t])},m=t=>{var e=Ay.Rq("h"),s=Ay.Rq("e"),r=s.currentTarget.target||t.target;return s.which>1||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||"_blank"===r||e.iO("wp-login")||e.iO("wp-admin")},q=()=>{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 e=t;return e&&"string"==typeof e?Ay.pronto(0,e):("complete"!==document.readyState&&("loading"===document.readyState||document.documentElement.doScroll)?document.addEventListener("DOMContentLoaded",o):o(),Ay)};let o=()=>{Ay.s=Object.assign(Ay.s,t),(Ay.pages=new Pages).f(),Ay.pronto=new y().a,l()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts.o())},l=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(r("Ajaxify loaded..."),Ay.s.intevents&&Ay.intevents(),Ay.scripts=new Scrpts,Ay.h.inlinehints=new s(Ay.s.inlinehints),Ay.h.inlineskip=new s(Ay.s.inlineskip),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new s(Ay.s.memoryoff),Ay.fn=Ay.getPage=new i().a,Ay.detScripts=new DetScripts,Ay.addAll=new AddAll,Ay.h.alwayshints=new s(Ay.s.alwayshints),Ay.Rq=new n().a,!0):(r("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("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,s=e.iO("#")?e.split("#")[0]:e,r=[s,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(s)?this.d[this.i]=r:this.d.push(r)}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 s=e.getBoundingClientRect();return this.s(s.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 s=this.gA(t);if(!Ay.pass)return s&&this.O.push(s);if("always"==t.getAttribute("data-class")||Ay.h.alwayshints.find(s)){this.removeScript(),this.iScript(t);return}if(s){this.O.some(t=>t==s)||(this.O.push(s),this.iScript(t));return}"href"==e||t.classList.contains("no-ajaxy")||Ay.scripts.i(t)})}}gA(t){return this.u=t[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.i(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))}}class Scrpts{constructor(){this.S={}}s(){this.allstyle(this.S.y)}o(){this.d(),this.a()}c(){return!!Ay.s.canonical&&!!this.S.can&&this.S.can.getAttribute("href")}d(){return Ay.detScripts.d(this.S)}i(t){this.one(t)}t(){this.d()||this.a()}a(){this.delta(this.S)}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)}))}one(t){!(this.x=t.textContent).iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(this.x)||t.classList.contains("ajaxy")||Ay.h.inlinehints.find(this.x))&&this.add(t)}add(S){if(this.x&&this.x.length){if(Ay.s.inlineappend||S.getAttribute("type")&&!S.getAttribute("type").iO("text/javascript"))try{return this.app(S)}catch(e){}try{eval(this.x)}catch(e1){lg("Error in inline script : "+this.x+"\nError code : "+e1)}}}app(t){let e=dcE("script");_copyAttributes(e,t),e.classList.add(inlineclass);try{e.appendChild(document.createTextNode(this.x))}catch(s){e.text=this.x}return qs("body").appendChild(e)}delta(t){Ay.addAll.a(t.c,"href"),Ay.addAll.a(t.j,"src")}}
|
|
1
|
+
let Ay,iFn=function(t,e,s=!1){return this!==document&&this!==window||"DOMContentLoaded"!=t||(s=s?Object.assign(s,{once:!0}):{once:!0}),this&&this.ael(t,e,s)};function _won(t,e,s=!1){!1===s&&(s={once:!0}),window.addEventListener(t,e,s)}EventTarget.prototype.ael=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=iFn;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,s)=>{s&&[...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(t){function e(t,e,s,r=document){r.addEventListener(t,(function(t){for(var r=t.target;r&&r!=this;r=r.parentNode)if(r.matches(e)){s(r,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,style:!0,prefetchoff:!1,verbosity:0,memoryoff:!1,cb:0,pluginon:!0,passCount:!1,DCLDelay:0},Ay.pass=0,Ay.running=!1,Ay.currentURL="",Ay.h={},Ay.parse=(t,e)=>((e=dcE("div")).insertAdjacentHTML("afterbegin",t),e.firstElementChild),Ay.internal=t=>!!t&&("object"==typeof t&&(t=t.href),""===t||(t.substring(0,rootUrl.length)===rootUrl||!t.iO(":"))),Ay.triggerEvent=t=>{if(!1!==Ay.s.DCLDelay){const e=new Event(t,{bubbles:!0,cancelable:!0}),s=window;0===Ay.s.DCLDelay?s.dispatchEvent(e):setTimeout((()=>{s.dispatchEvent(e)}),Ay.s.DCLDelay)}},Ay.trigger=(t,e)=>{const s=new Event("pronto."+t,{bubbles:!0,cancelable:!1});s.data=e||Ay.Rq("e"),window.dispatchEvent(s)};class s{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 r(t){Ay.s.verbosity&&console&&console.log(t)}class i{constructor(){let t=0,e=0,s=0,i="",n=0,o=0,a=0,y=/<\!DOCTYPE[^>]*>/i,l=/<(html|head)([\s\>])/gi,c=/<(body)([\s\>])/gi,h=/<\/(html|head|body)\>/gi;this.a=function(r,n,y){if(!r)return Ay.cache.g();if(r.iO("/")){if(e=n,s==r)return;return d(r)}if("+"===r)return s=n,e=y,d(n,!0);if("a"!==r){if("s"===r)return(o?1:0)+i;if("-"===r)return A(n);if("x"===r)return t;if(Ay.cache.g())return"body"===r?qs("#ajy-"+r,Ay.cache.g()):"script"===r?qa(r,Ay.cache.g()):qs("title"===r?r:".ajy-"+r,Ay.cache.g())}else o>0&&(m(),a.abort())};let A=t=>(Ay.pass++,f(t),qa("body > script").forEach((t=>!!t.classList.contains(inlineclass)&&prC(t))),Ay.scripts.t(),Ay.scripts.s(),Ay.scripts.c()),d=(t,r)=>(t.iO("#")&&(t=t.split("#")[0]),Ay.Rq("is")||!Ay.cache.l(t)?g(t,r):(s=0,e?e():void 0)),p=(t,e)=>{if(e){var s=e.cloneNode(!0);qa("script",s).forEach((t=>prC(t))),_copyAttributes(t,s,!0),t.innerHTML=s.innerHTML}},f=t=>Ay.cache.g()&&!u(t)&&t.forEach((function(t){p(t,qs("#"+t.getAttribute("id"),Ay.cache.g()))})),u=t=>"body"==t[0].tagName.toLowerCase()&&(p(bdy,qs("#ajy-body",Ay.cache.g())),1),g=(e,s)=>{var n=Ay.Rq("is");i=s?"p":"c",a=new AbortController,o++,fetch(e,{method:n?"POST":"GET",cache:"default",mode:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},body:n?Ay.Rq("d"):null,signal:a.signal}).then((r=>{if(r.ok&&b(r))return t=r,r.text();s||(location.href=e)})).then((s=>{if(m(1),s)return t.responseText=s,w(e,s)})).catch((t=>{if("AbortError"!==t.name)try{return Ay.trigger("error",t),r("Response text : "+t.message),w(e,t.message,t)}catch(t){}})).finally((()=>o--))},m=t=>(s=0,t?0:e=0),w=(t,s,r)=>Ay.cache.s(Ay.parse(q(s)))&&(Ay.pages.p([t,Ay.cache.g()]),1)&&e&&e(r),b=t=>(n=t.headers.get("content-type"))&&(n.iO("html")||n.iO("form-")),q=t=>dcE("html").innerHTML=v(t).trim(),v=t=>String(t).replace(y,"").replace(l,'<div class="ajy-$1"$2').replace(c,'<div id="ajy-$1"$2').replace(h,"</div>")}}class n{constructor(){let t=0,e=0,s=0,r=0,i=0,n=0,o=!1;this.a=function(y,l,c){if("="===y)return l?n===Ay.currentURL||n===o:n===Ay.currentURL;if("!"===y)return o=n;if("?"===y){let t=Ay.fn("s");return t.iO("0")||l||Ay.fn("a"),"1c"===t&&l?!1:("1p"===t&&l&&(!Ay.s.memoryoff||Ay.fn("a")),!0)}if("v"===y){if(!l)return!1;if(a(l,c),!Ay.internal(n))return!1;y="i"}return"i"===y?(t=!1,e=null,s=!0,r=!1,n):"h"===y?(l&&("string"==typeof l&&(i=0),n=l.href?l.href:l),n):"e"===y?(l&&a(l,c),i||n):"p"===y?(void 0!==l&&(s=l),s):"is"===y?(void 0!==l&&(t=l),t):"d"===y?(l&&(e=l),e):"C"===y?(void 0!==l&&(r=l),r):"c"===y?!r||r===l||l.iO("#")||l.iO("?")?l:r:void 0};let a=(t,e)=>n="string"!=typeof(i=t)?i.currentTarget&&i.currentTarget.href||e&&e.href||i.currentTarget.action||i.originalEvent.state.url:i}}class o{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=s();var i="get",o=t.getAttribute("method");o.length>0&&"post"==o.toLowerCase()&&(i="post");var a,y=t.getAttribute("action");return a=y&&y.length>0?y:Ay.currentURL,Ay.Rq("v",e),"get"==i?a=r(a,n):(Ay.Rq("is",!0),Ay.Rq("d",n)),Ay.trigger("submit",a),Ay.pronto(0,{href:a}),e.preventDefault(),!1}))}))})))};let s=()=>{let e=new FormData(t),s=qs("input[name][type=submit]",t);return s&&e.append(s.getAttribute("name"),s.value),e},r=(t,e)=>{let s="";for(var[r,i]of(t.iO("?")&&(t=t.substring(0,t.iO("?"))),e.entries()))s+=`${r}=${encodeURIComponent(i)}&`;return`${t}?${s.slice(0,-1)}`}}}class a{constructor(){let t=0,i=0,n=0;Ay.h.prefetchoff=new s(Ay.s.prefetchoff),this.a=function(e,s){if(s)return"i"===s?(bdy=document.body,e.length||(e="body"),t=qa(e),Ay.frms=(new o).a,Ay.s.idleTime&&(Ay.slides=new classSlides(Ay).a),Ay.scrolly=new Scrolly,(Ay.offsets=new Offsets).f(),Ay.hApi=new HApi,a(),e):"object"==typeof s?(Ay.Rq("h",s),void A()):void(s.iO("/")&&(Ay.Rq("h",s),A(!0)))};let a=()=>{Ay.hApi.r(window.location.href),window.addEventListener("popstate",p),!0!==Ay.s.prefetchoff&&(e("mouseenter",Ay.s.selector,y),e("mouseleave",Ay.s.selector,l),e("touchstart",Ay.s.selector,c)),e("click",Ay.s.selector,h,bdy),Ay.frms("d",qa("body")),Ay.frms("a"),Ay.frms("d",t),Ay.s.idleTime&&Ay.slides("i")},y=(t,e)=>(l(),n=setTimeout((()=>c(t,e)),150)),l=()=>clearTimeout(n),c=(t,e)=>{if(!0!==Ay.s.prefetchoff&&Ay.Rq("?",!0)){var s=Ay.Rq("v",e,t);Ay.Rq("=",!0)||!s||Ay.h.prefetchoff.find(s)||Ay.fn("+",s,(()=>!1))}},h=(t,e,s)=>{if(Ay.Rq("?")){var r=Ay.Rq("v",e,t);if(r&&!g(t)){if("#"===r.substr(-1))return!0;if(m())return Ay.hApi.r(r),!0;Ay.scrolly.p(),(t=>{t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation()})(e),Ay.Rq("=")&&Ay.hApi.r(),!Ay.s.refresh&&Ay.Rq("=")||A(s)}}},A=t=>{Ay.Rq("!"),t&&Ay.Rq("p",!1),Ay.trigger("request"),Ay.fn(Ay.Rq("h"),(t=>{t&&(r("Error in _request : "+t),Ay.trigger("error",t)),d()}))},d=()=>{Ay.trigger("beforeload"),Ay.s.requestDelay?(i&&clearTimeout(i),i=setTimeout(f,Ay.s.requestDelay)):f()},p=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,d))},f=()=>{Ay.trigger("load"),Ay.s.bodyClasses&&_copyAttributes(bdy,Ay.fn("body"),!0);var e,s=Ay.Rq("h");s=Ay.Rq("c",s),Ay.Rq("p")?Ay.hApi.p(s):Ay.hApi.r(s),(e=Ay.fn("title"))&&(qs("title").innerHTML=e.innerHTML),Ay.Rq("C",Ay.fn("-",t)),Ay.frms("a"),Ay.scrolly.l(),u(s),Ay.triggerEvent("DOMContentLoaded"),Ay.s.passCount&&(qs("#"+Ay.s.passCount).innerHTML="Pass: "+Ay.pass),Ay.s.cb&&Ay.s.cb()},u=t=>{t="/"+t.replace(rootUrl,""),void 0!==window.ga?window.ga("send","pageview",t):void 0!==window._gaq&&window._gaq.push(["_trackPageview",t])},g=t=>{var e=Ay.Rq("h"),s=Ay.Rq("e"),r=s.currentTarget.target||t.target;return s.which>1||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey||"_blank"===r||e.iO("wp-login")||e.iO("wp-admin")},m=()=>{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 e=t;return e&&"string"==typeof e?Ay.pronto(0,e):("complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?y():document.addEventListener("DOMContentLoaded",y),Ay)};let y=()=>{Ay.running||(Ay.running=!0,Ay.s=Object.assign(Ay.s,t),(Ay.pages=new Pages).f(),Ay.pronto=(new a).a,l()&&(Ay.pronto(Ay.s.elements,"i"),Ay.s.deltas&&Ay.scripts.o()))},l=()=>window.history&&window.history.pushState&&window.history.replaceState&&Ay.s.pluginon?(r("Ajaxify loaded..."),Ay.scripts=new Scrpts,Ay.h.inlinehints=new s(Ay.s.inlinehints),Ay.h.inlineskip=new s(Ay.s.inlineskip),Ay.cache=new Cache,Ay.memory=new Memory,Ay.h.memoryoff=new s(Ay.s.memoryoff),Ay.fn=Ay.getPage=(new i).a,Ay.detScripts=new DetScripts,Ay.addAll=new AddAll,Ay.h.alwayshints=new s(Ay.s.alwayshints),Ay.Rq=(new n).a,!0):(r("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||!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("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,s=e.iO("#")?e.split("#")[0]:e,r=[s,document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop];this.O(s)?this.d[this.i]=r:this.d.push(r)}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 s=e.getBoundingClientRect();return this.s(s.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 s=this.gA(t);return Ay.pass?"always"==t.getAttribute("data-class")||Ay.h.alwayshints.find(s)?(this.removeScript(),void this.iScript(t)):void(s?this.O.some((t=>t==s))||(this.O.push(s),this.iScript(t)):"href"==e||t.classList.contains("no-ajaxy")||Ay.scripts.i(t)):s&&this.O.push(s)}))}}gA(t){return this.u=t[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.i(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)))}}class Scrpts{constructor(){this.S={}}s(){this.allstyle(this.S.y)}o(){this.d(),this.a()}c(){return!(!Ay.s.canonical||!this.S.can)&&this.S.can.getAttribute("href")}d(){return Ay.detScripts.d(this.S)}i(t){this.one(t)}t(){this.d()||this.a()}a(){this.delta(this.S)}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)})))}one(t){!(this.x=t.textContent).iO("new Ajaxify(")&&(Ay.s.inline&&!Ay.h.inlineskip.find(this.x)||t.classList.contains("ajaxy")||Ay.h.inlinehints.find(this.x))&&this.add(t)}add(S){if(this.x&&this.x.length){if(Ay.s.inlineappend||S.getAttribute("type")&&!S.getAttribute("type").iO("text/javascript"))try{return this.app(S)}catch(t){}try{eval(this.x)}catch(t){lg("Error in inline script : "+this.x+"\nError code : "+t)}}}app(t){let e=dcE("script");_copyAttributes(e,t),e.classList.add(inlineclass);try{e.appendChild(document.createTextNode(this.x))}catch(t){e.text=this.x}return qs("body").appendChild(e)}delta(t){Ay.addAll.a(t.c,"href"),Ay.addAll.a(t.j,"src")}}
|
package/package.json
CHANGED