-
Notifications
You must be signed in to change notification settings - Fork 0
/
xfly.min.js
1 lines (1 loc) · 15.1 KB
/
xfly.min.js
1
!function(t,n){"use strict";var r=t||{},e=window,i=e.document,o=$.noop,a=function(t){return void 0===t},c=function(t){return!a(t)&&"number"==typeof t},u=function(t){return $.isPlainObject(t)&&t.nodeType>0};function s(t,n,r,e,i){return $.isFunction(n)&&(i=e,e=r,r=n,n=void 0),$.isFunction(r)||(e=i=e,r=void 0),$.isFunction(e)||(i=e,e=void 0),{url:t,data:n,success:r,error:e,dataType:i}}r.undefined=void 0,r.emptyFn=o,r.noop=o,r.win=e,r.dev=!1,r.isUndefined=a,r.isString=function(t){return"string"==typeof t},r.isNumber=c,r.isDom=u,r.throwNiyError=function(){throw new Error("Not implement yet!")},r.get=function(){return $.ajax(s.apply(null,arguments))},r.post=function(){var t=s.apply(null,arguments);t.dataType="POST",$.ajax(t)},r.ORIGIN_URL=location.href,r._viewport=void 0,r.ID_VIEWPORT="xfly_viewport",r.ID_FRAGMENT_ROOT="xfly_pages",r.FRAGMENT="page",r.FRAGMENTS="page_root",r.idSelector=function(t){return"#"+t},r.isShowing=function(t){return t&&"none"!==t.css("display")},e.hide_keyboard=function(t){u(t)&&t.blur&&t.blur(),document.body.focus()},e.case_run=function(t,n,r,e){var i,o=r||window,a=e,c=function(){i&&(a&&(--a||(clearInterval(i),i=void 0)),t.call(o)&&(i&&(clearInterval(i),i=void 0),n.call(o)))};return i=setInterval(c,1e3),c(),i};var f=i.getElementsByTagName("head")[0],l=function(t,n){n?setTimeout(function(){f.appendChild(t)},n):f.appendChild(t)};e.import_script=function(t,n,r){var o;c(n)&&(r=n,n=void 0),(o=i.createElement("script")).type="text/javascript",o.src=t,o.onload=o.onreadystatechange=function(t){("load"===(t=t||e.event).type||/loaded|complete/.test(o.readyState)&&(!i.documentMode||i.documentMode<9))&&(o.onload=o.onreadystatechange=o.onerror=null,n&&n())},o.onerror=function(t){t=t||e.event,o.onload=o.onreadystatechange=o.onerror=null},o.async=!0,l(o,r)},e.import_style=function(t,n){var r=i.createElement("link");r.rel="stylesheet",r.type="text/css",r.href=t,r.async=!0,l(r,n)},e.load_asset=function(t,n){/\.css[^\.]*$/.test(t)?e.import_style(t):(n=n||r.noop,e.import_script(t,n))},t||(e.xfly=r)}(window.xfly),function(t){"use strict";var n,r,e,i,o="!#",a=t.win,c=void 0!==a.onpopstate,u=!1,s=0,f=void 0!==history.scrollRestoration,l="#!",d=l+"-",v="#xsrfr",h=-1,g=-2,p="hash",y="args",m="id",w="title",_="html",b="url",I="_force_anima",O="_",x="requires",E="scroller",S="lazyModeEnabled",R="_el_",T="_lyt_id_",P="_stt_",j="_s_p_y_",k="_rndr_clld_",A="multitask",C="_derive_id_",N="_cnt_ld_",U="_nstnttd_",F="_pst_rld_",D="create",V="createView",G="start",M="attach",B="resume",W="pause",J="detach",L="stop",Y="destroyView",q="destroy",z="onPrerender",H="onRendering",K="onRendered",Q="onReload",X=["onCreate","onCreateView","onStart","onAttach","onResume","onPause","onDetach","onStop","onDestroyView","onDestroy",z,H,K,Q],Z=(r=X,e={},[D,V,G,M,B,W,J,L,Y,q].forEach(function(t,n){e[t]=r[n]}),e),tt={},nt={},rt={};function et(){return!!i}function it(t){tt[ot(t)]=t}function ot(t){return t[Wt(t)?C:m]}function at(t){return void 0!==tt[t]}function ct(t){return tt[t]}function ut(){t._viewport||($('<div class="xfly-page"></div>'),t._viewport=$(t.idSelector(t.ID_VIEWPORT)))}function st(t,n){if(t&&t.length)for(var r in t)n?t[r].enable():t[r].disable()}function ft(t){t[k]=!1,function(t,n){var r=bt(t);r&&r[n]&&r[n].apply(t,3 in arguments?arguments.slice(2):[])}(t,Q),t[k]||It(t,{url:ur(t),reload:1})}function lt(t,n){($.isPlainObject(n)&&An(ot(t),n),t[U])&&(i==t?ft(t):t[F]=!0)}var dt=-1,vt=0,ht=1,gt=2,pt=3,yt=4,mt=5;function wt(n,r){if(void 0===n[P]&&(n[P]=dt),n[P]<r)switch(dt===n[P]&&(n[P]=vt),n[P]){case vt:_t(n,D);case ht:r>ht&&(n[F]&&(n[F]=!1),n[k]=!1,_t(n,V),!n[k]&&n[_]&&It(n,{html:n[_]}),n[k]||It(n,{url:ur(n)}));case yt:case gt:r>gt&&_t(n,G);case pt:r>pt&&(i=n,(o=St.call(i))&&void 0!==rt[o]&&function(){var n=St.call(this),r=rt[n];r&&(t.isString(r)&&(r=$(r)),r.appendTo(t._viewport),rt[n]=void 0);void 0!==this[j]&&tr(this[j])}.call(n),_t(n,M),(e=n)[F]&&(e[F]=!1,ft(e)),Tt(n[w]||$Page.title),_t(n,B),st(n[E],!0))}else if(n[P]>r)switch(n[P]){case mt:r<mt&&(st(n[E],!1),_t(n,W),n[j]=nr(),_t(n,J),function(t){rt[St.call(this)]=t}.call(n,t._viewport.children(".page-ui").remove()));case yt:r<yt&&_t(n,L);case pt:case gt:r<gt&&_t(n,Y);case ht:r<ht&&_t(n,q)}var e,i,o;n[P]=r}function _t(t,n){var r,e=$.isArray(n)?n:[n],i=bt(t);if(i)for(var o in e)i[r=Z[e[o]]]&&i[r].apply(t,3 in arguments?arguments.slice(2):[])}function bt(t){return nt[(n=t,n[m])];var n}function It(t,n){t.render(n)}function $t(){Ot(this,H),function(t){var n=t.getContainer(),r=$(".page-scroller",n);if(r.length){var e=[],i={probeType:3,mouseWheel:!0,bounce:!1,click:!0,keyBindings:!0};r.each(function(t,n){var r=$(this),o=r.parent(".page-scroll-wrapper");o.length||(o=r.wrap('<div class="page-scroll-wrapper"></div>').parent(".page-scroll-wrapper")),e.push(new IScroll(o[0],i))}),t[E]=e}}(this),Ot(this,K)}function Ot(t,n){var r=bt(t);r&&r[n]&&r[n].call(t,Et.call(t))}function xt(){return Et.call(this)[0]}function Et(){return $("#x_f"+this[R][T])}function St(){return this[R]&&this[R][T]&&String(this[R][T])}function Rt(){if(!jt())return!1;var t=i;return Ct(),an(t),!0}function Tt(t){document.title=t}function Pt(){return qt}function jt(){return!Pt()&&kt()}function kt(){return fn.length}var At=1;function Ct(t){Pt()||(t&&!kt()&&Xt.home?Nt(Xt.home):history.go(t?g:h))}var Nt=function(t){rn.call(ct(t),1,fx.slide,1)};function Ut(n){var r,e,o,a;(r=this)[N]=!0,i==r&&(Xt.onCurrentPageContentLoaded||Zt)(),a=(e=this)[m],o=Mt(Bt(a)?Lt(a,e[y]):a),e[R][T]=o,rt[o]=void 0,void 0==i||vt==this[P]||i==this?(n.reload&&t._viewport.children(".page-ui").remove(),t._viewport.append(n[_])):rt[St.call(this)]=n[_]}var Ft=function(t){location.hash=Dt(t)};function Dt(t){var n={};return n[p]=t[p],n[y]=t[y],function(t){var n=[l,t[p]];t[y]&&(n.push(Dn),n.push(Fn(t[y])));return n.join("")}(n)}function Vt(n,r,e,i){var o;Pt()?_n={id:n,args:r,fromUri:e,animation:i}:at(n)?($.isPlainObject(r)?An(n,r):t.isString(r)?(i=r,e=r=void 0):t.isUndefined(r),t.isString(e)&&(i=e,e=void 0),Bt(n)?function(t,n,r,e,i){var o=Lt(t,n);if(t===o)return void Zn(t,n,r,e,i);at(o)||yn(t,o,n),rn.call(ct(o),e,i)}(n,r,0,e,i):Zn(n,r,0,e,i)):Xt[S]&&(_n={id:o=n,args:r,fromUri:e,animation:i},In(o))}function Gt(t,n){at(t)&<(ct(t),n)}function Mt(t){var n,r=0;if(!(0^t.length))return r;for(n=0;n<t.length;n++)r=31*r+t.charCodeAt(n),r|=0;return r}function Bt(t){return!!ct(t)[A]}function Wt(t){return t&&t[C]}function Jt(t){try{return JSON.stringify(function(t){var n=void 0,r=Object.keys(t);if(!r.length)throw new Error("Args can't be null#"+t);return n={},r.sort().forEach(function(r){n[r]=t[r]}),n}(t))}catch(t){return}}function Lt(t,n){var r=Jt(n);return r?[t,Yt,Mt(r)].join(""):t}var Yt="#",qt=!1;function zt(){qt||(qt=!0)}function Ht(){qt=!1,_n&&On(_n.id),Ln()}var Kt,Qt,Xt={};var Zt=t.noop;function tn(t,n){(Xt.onBeforePageChange||Zt)(t,n)}function nn(t,n){(Xt.onAfterPageChange||Zt)(t,n)}function rn(t,n,r){var e=i,o=!et(),a=this;if(!e||a!=e){Sn(a),tn(e,a);var c,u;zt(),e&&wt(e,pt),wt(a,mt),sn(a,void 0),e&&!o&&(c=n,(u={})[O]=ot(e),c&&(u[I]=c),fn[fn.length]=u),pn(cn,i=a),Ht(),nn(e,a)}}function en(t){if(jt()){var n,r=i,e=fn.pop();n=ct(e[O]),tn(r,n);var o;if(zt(),wt(r,pt),wt(n,mt),sn(n,void 0),pn(un,i=n),Ht(),nn(r,n),!Wt(i)){var a=Un(location.href);Vn(i[y],a)||(o=i,c&&history.replaceState(Wn(),o[w],ur(o)))}}}function on(t){at(t)&&function(t){var n=ct(t);_t(n,[L,Y,q,J]);var r=St.call(n);rt[r]=void 0,delete rt[r],n[R]={},n[k]=!1}(t)}function an(t){var n=t[m];t.destroy_task_id=setTimeout(function(){on(n)},0)}var cn=1,un=cn-1;function sn(t,n){Et.call(t).show(),function(t){var n,r,e,i=function(t,n){var r,e=En[t];if(e){var i,o,a=e[n];for(o in r=a.slice(0),a)(i=a[o])&&i.once&&a.splice(o,1);a.length!==r.length&&(En[e]=e[n]=a)}return r}(this[m],t);if(!i)return;for(n in i)r=i[n],e=r.action,$.isFunction(e)&&e()}.call(t,"show")}var fn=[];function ln(t,n,r){t[j]=nr(),vn(t,n,r),history.pushState(t,n,r)}var dn=" ";function vn(t,r,e){if(u){var i=s++;n.setItem("#"+i,encodeURI(e)+dn+t[j]),n.setItem(o,i),function(){hn&&(hn=clearTimeout(hn));hn=setTimeout(function(){if(hn=void 0,n.length/2>gn){var t,r=parseInt(n.getItem(o)),e=[];for(var i in n)0===i.indexOf("#")&&e.push(parseInt(i.substr(1)));e.sort(function(t,n){return n-t});for(var a=0;a<e.length;a++)if(r===e[a]){if(t=a+gn,e.length<=t)return;break}for(var a=t;a<e.length;a++)n.removeItem("#"+e[a])}},0)}()}}var hn,gn=100;function pn(t,n){c?un!==t&&ln(Wn(),n[w],ur(n)):Ft(n)}function yn(t,n,r){var e=function(t){var n=new bn;mn(t,n,m),mn(t,n,w),mn(t,n,p),mn(t,n,A),t[_]?n[_]=t[_]:t[b]&&(n[b]=t[b]);return n}(ct(t));return Object.defineProperty(e,C,{value:n,writable:0}),e[R]={},e[y]=r,it(e),e}function mn(t,n,r){r in t&&(n[r]=t[r])}var wn,_n,bn=function(){this.attributes={}};function In(t,n){var r,e=$n(t),i="",o="";e&&($.isArray(e)||(e=[e]),e.length>0&&(i=e[0]),e.length>1&&(r=e[1]),Qt&&(o="?_="+Qt)),r&&load_asset(r+t+".css"+o),load_asset(i+t+".js"+o,n)}function $n(t){for(var n in Kt)if(Kt[n][0].test(t))return Kt[n][1];return""}function On(t){if(_n&&t===_n.id){var n=_n;_n=void 0,Vt(n.id,n.args,n.fromUri,n.animation)}}function xn(n,r){if(!t.isString(n))throw Error("Invalid id("+n+")");if(t.isUndefined(r))throw Error("Must be specify the props for "+n);ut();var e=at(n)?ct(n):new bn;if(void 0!==e[m])return e;var i,o,a=r[A]&&!!r[A];return $.isPlainObject(r)&&r[x]&&void r.requires,i=r,o=nt[n]={},$.isPlainObject(i)&&X.forEach(function(t){i[t]&&(o[t]=i[t])}),e[m]=n,e[R]={},t.isString(r[w])&&(e[w]=r[w]),e[p]=jn(n),r[y]&&(e[y]=r[y]),a&&Object.defineProperty(e,A,{value:1,writable:0}),r[_]?e[_]=r[_]:r[b]&&(e[b]=r[b]),function(t,n){var r=n.trigger;if(r){var e=r.on,i=r.state,o=r.action;if(e&&i&&o){var a=En[e];a||(En[e]=a={});var c=a[i];c||(a[i]=c=[]);var u={target:t[m],action:o};r.once&&(u.once=!0),c.push(u)}}}(e,r),it(e),On(n),e}(wn=bn.prototype).render=function(n){var r=$.isEmptyObject(rt);this[k]=!0;var e=r||n&&n[_];return e&&function(){Ot(this,z)}.call(this,n),e?Ut.call(this,n):n[b]&&function(n){var r=this;t.get(n[b],function(t){var e=n.reload||0;(n={})[_]=t,n.reload=e,It(r,n)})}.call(this,n),e&&$t.call(this,n),this},wn.setTitle=function(t){return Tt(t),this},wn.isVisible=function(){var n=Et();return n.length&&t.isShowing(n)},wn.setArgs=function(t){if($.isPlainObject(t)){var n=this.getArgs()||{};Object.keys(t).forEach(function(r){n[r]=t[r]}),An(ot(this),n),i==this&&c&&history.replaceState(history.state||Wn(),this[w],ur(this))}return this},wn.getArgs=function(){return this[y]},wn.getContainer=xt,wn.getScrolls=function(){return this[E]||[]},wn.hasContent=function(){return this[N]},wn.reload=function(t){Gt(this[m],t)},wn.runWithGlobalEach=t.throwNiyError,wn.findInGlobal=function(t){var n,r,e=$(t);return Object.keys(rt).forEach(function(i){(n=rt[i])&&(r=n.find(t)).length&&(e=e.concat(r))}),e.length?$(e):e},wn.put=function(t,n){return null!=t&&(this.attributes[t]=n),this},wn.get=function(t){return this.attributes[t]},wn.has=function(t){return null!=this.get(t)},wn.remove=function(t){return this.has(t)&&delete this.attributes[t],this},wn.clear=function(){return this.attributes={},this};var En={};function Sn(t){t[U]=!0}function Rn(t){return!!or()||t&&"!"===t.charAt(1)}function Tn(t){return Rn(t)&&!Pn(t)}function Pn(t){return d===t}function jn(t){return/\.+/g.test(t)?t.replace(/\./g,"/"):t}function kn(t){return/\/+/g.test(t)?t.replace(/\//g,"."):t}function An(t,n){var r=ct(t);r&&(r[y]=n)}function Cn(t){return{hash:(n=t,Nn(n)?n.slice(2,n.indexOf(Dn)):n.slice(2)),args:Un(t)};var n}function Nn(t){return or()?1:-1^t.indexOf(Dn)}function Un(t){if(Nn(t))return or()?zn(t).args:Hn(t.substr(1+t.indexOf(Dn)))}function Fn(t){return $.param(t).replace(/%5B%5D/g,"[]")}var Dn=":";function Vn(t,n){return JSON.stringify(t)===JSON.stringify(n)}var Gn="_stck_idx_",Mn=0,Bn={};function Wn(t){var n={};return n[Gn]=fn.length?fn.length-1:0,n}var Jn=function(t){var r,e,i,a;if((r=t).state&&void 0!==r.state[Gn])if(fn.length)i=t,(Mn===(a=Bn)[Gn]||0===i.state[Gn]||i.state[Gn]<a[Gn])&&((c||t.state[Gn]in fn)&&en());else if(u&&n.getItem(o)){var f=n.getItem("#"+--s);if(f){var l;if(n.setItem(o,s),~f.indexOf(dn)){var d=f.split(dn);l=decodeURI(d[0]),e=d[1],n.setItem(v,e)}else l=f;return void(location.href=decodeURI(l))}location.reload()}},Ln=(Tn(location.hash)&&Cn(location.hash),function(){Yn()}),Yn=function(){if(qn){var t=qn.oldInnerRoute,n=qn.newRawRoute;qn=void 0,Kn(t,n)}};var qn=void 0;function zn(t){var n,r,e=t.indexOf("?"),i=t.indexOf("#");return~i&&(t=t.substring(0,i)),~e?(n=ar(t.substring(0,e)),r=Hn(t.substr(e+1))):(n=ar(t),r=void 0),{target:kn(n),args:r}}function Hn(t){var n,r,e,i,o,a,c={},u=0,s=t.replace(/\[\]/g,"").split("&");if(s.length){a={};var f,l=t.split("&");for(n in l)2!==(f=(r=l[n]).split("[]=")).length||a[f[0]]||(a[f[0]]=1)}for(n in s)e=(r=s[n].split("="))[0],i=r[1]&&decodeURIComponent(r[1]),e&&(e in c?((o=c[e]).push(i),c[e]=o):c[e]=a[e]?[i]:i,u++);return u?c:void 0}function Kn(t,n){Rn(n)&&function(t,n){if(Pn(n))Xn(At);else if(Tn(n)){var r=Cn(n);i=r,(e=t)&&i&&e[p]==i[p]&&Vn(e[y],i[y])||Qn(r,1,1)}var e,i}(t,n)}var Qn=function(t,n,r){Vt(kn(t[p]),t[y],r)},Xn=function(){Ct(At)};function Zn(t,n,r,e,i){n&&An(t,n),rn.call(ct(t),e,i)}function tr(t){window.scrollTo(0,t)}function nr(){return window.scrollY}t.page=function(t,n){if($.isArray(t)){var r=[];for(var e in n=n||{},t)r.push(xn(t[e],n));return r}return xn(t,n)},a.$Page={config:function(t){Xt=t,function(){if(Xt&&Xt[S]&&Xt.paths){var t,n=Xt.paths;Kt=[],Object.keys(n).forEach(function(r){-1^(t=r).indexOf("**")&&(t=t.replace("**","(w|d|.)")),Kt.push([new RegExp("^"+t+"+"),n[r]])}),Qt=Xt.lazyPageVerCode}}()},title:document.title,define:t.page,go:Vt,canBack:jt,back:Ct,reload:Gt,update:t.throwNiyError,finish:Rt,finishAndGo:t.throwNiyError,destroy:t.throwNiyError},a.go=Vt,a.goFast=a.$Page.goFast,a.back=Ct,a.finish=Rt;var rr=1,er=999,ir=er;function or(){return ir==rr}function ar(t){return 1==t.length&&"/"==t?"":("/"==t.charAt(0)&&(t=t.substr(1)),"/"==t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),t)}var cr="/";function ur(t){var n=t[y];return cr+jn(t[m])+(n?"?"+Fn(n):"")}function sr(t){var n,r=t.attr("href");(n=t).data("if")&&n.data("else-href")&&(function(t){var n=new Function("return "+t.data("if")),r=1;try{r=n()}finally{n=void 0}return!!r}(t)||(r=t.data("else-href")));var e=zn(r);return Vt(e.target,e.args),!0}function fr(t){var n,r=t.attr("href");return t.is(".xfly-page__nav")&&r?sr(t):t.is(".xfly-page__back")||~(r||"").indexOf("#!-")?(history.back(),!0):void(0===(r||"").indexOf("/")&&(n=r,ln(Wn(),"",n)))}a.getCurrentPage=function(){return i};try{var lr="xfly.ss";(n=sessionStorage).setItem(lr,1),n.removeItem(lr),s=parseInt(n.getItem(o))||0,u=!0}catch(t){}$(function(){var r,e,a,s={target:kn(ar(location.pathname)),args:Hn(location.search.substr(1))},l=function(){var t,r;if(An(s.target,s.args),Bt(s.target)){var e=Lt(s.target,s.args);s.target==e?r=s.target:(at(e)||yn(s.target,e,s.args),r=e)}else r=s.target;if(t=ct(r),$(".xfly-page"),Sn(t),wt(t,mt),c&&history.replaceState(Wn(),t[w],ur(t)),i=t,Bn[Gn]=Mn,u){var a=n.getItem("#"+n.getItem(o));a?(decodeURI(a),ur(i)):vn(Bn,0,ur(i))}};function d(){a&&(clearTimeout(a),a=void 0)}at(s.target)?l():""!==$n(s.target)&&In(s.target,l),$(document).on("click","a",function(t){return!fr($(t.currentTarget))}),c&&window.addEventListener("popstate",Jn),f&&(history.scrollRestoration="manual",u&&((r=n.getItem(v))&&(n.removeItem(v),tr(r)))),$(window).on("scroll",function(){e=window.scrollY,d(),a=setTimeout(function(){e===window.scrollY&&(d(),t._viewport.trigger("scroll:end",e))},100)})})}(xfly);