41 lines
No EOL
20 KiB
JavaScript
41 lines
No EOL
20 KiB
JavaScript
new function(){function u(d,e,r,g,l,n){return{tag:d,key:e,attrs:r,children:g,text:l,dom:n,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function y(d){if(null==d||"string"!==typeof d&&null==d.view)throw Error("The selector must be either a string or a component.");if("string"===typeof d&&void 0===H[d]){for(var e,r,g=[],l={};e=O.exec(d);){var n=e[1],m=e[2];""===n&&""!==m?r=m:"#"===n?l.id=m:"."===n?g.push(m):"["===e[3][0]&&((n=e[6])&&(n=n.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),
|
|
l[e[4]]=n||!0)}0<g.length&&(l.className=g.join(" "));H[d]=function(d,e){var c=!1,g,n,w=d.className||d["class"],m;for(m in l)d[m]=l[m];void 0!==w&&(void 0!==d["class"]&&(d["class"]=void 0,d.className=w),void 0!==l.className&&(d.className=l.className+" "+w));for(m in d)if("key"!==m){c=!0;break}e instanceof Array&&1==e.length&&null!=e[0]&&"#"===e[0].tag?n=e[0].children:g=e;return u(r||"div",d.key,c?d:void 0,g,n,void 0)}}var k;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||
|
|
arguments[1]instanceof Array)?g=1:(k=arguments[1],g=2);if(arguments.length===g+1)e=arguments[g]instanceof Array?arguments[g]:[arguments[g]];else for(e=[];g<arguments.length;g++)e.push(arguments[g]);return"string"===typeof d?H[d](k||{},u.normalizeChildren(e)):u(d,k&&k.key,k||{},u.normalizeChildren(e),void 0,void 0)}u.normalize=function(d){return d instanceof Array?u("[",void 0,void 0,u.normalizeChildren(d),void 0,void 0):null!=d&&"object"!==typeof d?u("#",void 0,void 0,d,void 0,void 0):d};u.normalizeChildren=
|
|
function(d){for(var e=0;e<d.length;e++)d[e]=u.normalize(d[e]);return d};var O=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,H={};y.trust=function(d){return u("<",void 0,void 0,d,void 0,void 0)};y.fragment=function(d,e){return u("[",d.key,d,u.normalizeChildren(e),void 0,void 0)};var F=function(d){function e(b,a,f,d,c,e,q){for(;f<d;f++){var t=a[f];null!=t&&p(b,r(t,c,q),e)}}function r(b,a,f){var d=b.tag;null!=b.attrs&&y(b.attrs,b,a);if("string"===typeof d)switch(d){case "#":return b.dom=
|
|
x.createTextNode(b.children);case "<":return g(b);case "[":var c=x.createDocumentFragment();null!=b.children&&(d=b.children,e(c,d,0,d.length,a,null,f));b.dom=c.firstChild;b.domSize=c.childNodes.length;return c;default:var p=b.tag;switch(b.tag){case "svg":f="http://www.w3.org/2000/svg";break;case "math":f="http://www.w3.org/1998/Math/MathML"}var q=(d=b.attrs)&&d.is,p=f?q?x.createElementNS(f,p,{is:q}):x.createElementNS(f,p):q?x.createElement(p,{is:q}):x.createElement(p);b.dom=p;if(null!=d)for(c in q=
|
|
f,d)w(b,c,null,d[c],q);null!=b.text&&(""!==b.text?p.textContent=b.text:b.children=[u("#",void 0,void 0,b.text,void 0,void 0)]);null!=b.children&&(c=b.children,e(p,c,0,c.length,a,null,f),a=b.attrs,"select"===b.tag&&null!=a&&("value"in a&&w(b,"value",null,a.value,void 0),"selectedIndex"in a&&w(b,"selectedIndex",null,a.selectedIndex,void 0)));return p}else{b.state||(b.state={});P(b.state,b.tag);y(b.tag,b,a);b.instance=u.normalize(b.tag.view.call(b.state,b));if(null!=b.instance){if(b.instance===b)throw Error("A view cannot return the vnode it received as arguments");
|
|
a=r(b.instance,a,f);b.dom=b.instance.dom;b.domSize=null!=b.dom?b.instance.domSize:0;b=a}else b.domSize=0,b=D;return b}}function g(b){var a={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(b.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",a=x.createElement(a);a.innerHTML=b.children;b.dom=a.firstChild;b.domSize=a.childNodes.length;b=x.createDocumentFragment();for(var f;f=a.firstChild;)b.appendChild(f);return b}function l(b,a,f,d,
|
|
c,g){if(a!==f&&(null!=a||null!=f))if(null==a)e(b,f,0,f.length,d,c,void 0);else if(null==f)z(b,a,0,a.length,f);else{var q;a:{if(null!=a.pool&&Math.abs(a.pool.length-f.length)<=Math.abs(a.length-f.length)&&(q=f[0]&&f[0].children&&f[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-q)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-q))){q=!0;break a}q=!1}q&&(a=a.concat(a.pool));if(a.length===f.length&&null!=f[0]&&null==f[0].key)for(var t=0;t<a.length;t++)a[t]===
|
|
f[t]||null==a[t]&&null==f[t]||(null==a[t]?p(b,r(f[t],d,g),k(a,t+1,c)):null==f[t]?z(b,a,t,t+1,f):n(b,a[t],f[t],d,k(a,t+1,c),q,g),q&&a[t].tag===f[t].tag&&p(b,m(a[t]),k(a,t+1,c)));else{for(var B=t=0,w=a.length-1,A=f.length-1,l;w>=t&&A>=B;){var h=a[t],v=f[B];if(h===v)t++,B++;else if(null!=h&&null!=v&&h.key===v.key)t++,B++,n(b,h,v,d,k(a,t,c),q,g),q&&h.tag===v.tag&&p(b,m(h),c);else if(h=a[w],h===v)w--,B++;else if(null!=h&&null!=v&&h.key===v.key)n(b,h,v,d,k(a,w+1,c),q,g),B<A&&p(b,m(h),k(a,t,c)),w--,B++;
|
|
else break}for(;w>=t&&A>=B;){h=a[w];v=f[A];if(h===v)w--;else if(null!=h&&null!=v&&h.key===v.key)n(b,h,v,d,k(a,w+1,c),q,g),q&&h.tag===v.tag&&p(b,m(h),c),null!=h.dom&&(c=h.dom),w--;else{if(!l){l=a;var h=w,u={},x;for(x=0;x<h;x++){var C=l[x];null!=C&&(C=C.key,null!=C&&(u[C]=x))}l=u}null!=v&&(h=l[v.key],null!=h?(u=a[h],n(b,u,v,d,k(a,w+1,c),q,g),p(b,m(u),c),a[h].skip=!0,null!=u.dom&&(c=u.dom)):(v=r(v,d,void 0),p(b,v,c),c=v))}A--;if(A<B)break}e(b,f,B,A+1,d,c,g);z(b,a,t,w+1,f)}}}function n(b,a,f,c,d,e,q){var t=
|
|
a.tag;if(t===f.tag){f.state=a.state;f.events=a.events;var h;var z;null!=f.attrs&&"function"===typeof f.attrs.onbeforeupdate&&(h=f.attrs.onbeforeupdate.call(f.state,f,a));"string"!==typeof f.tag&&"function"===typeof f.tag.onbeforeupdate&&(z=f.tag.onbeforeupdate.call(f.state,f,a));void 0===h&&void 0===z||h||z?h=!1:(f.dom=a.dom,f.domSize=a.domSize,f.instance=a.instance,h=!0);if(!h)if(null!=f.attrs&&J(f.attrs,f,c,e),"string"===typeof t)switch(t){case "#":a.children.toString()!==f.children.toString()&&
|
|
(a.dom.nodeValue=f.children);f.dom=a.dom;break;case "<":a.children!==f.children?(m(a),p(b,g(f),d)):(f.dom=a.dom,f.domSize=a.domSize);break;case "[":l(b,a.children,f.children,c,d,q);a=0;c=f.children;f.dom=null;if(null!=c){for(var k=0;k<c.length;k++)b=c[k],null!=b&&null!=b.dom&&(null==f.dom&&(f.dom=b.dom),a+=b.domSize||1);1!==a&&(f.domSize=a)}break;default:b=q;d=f.dom=a.dom;switch(f.tag){case "svg":b="http://www.w3.org/2000/svg";break;case "math":b="http://www.w3.org/1998/Math/MathML"}"textarea"===
|
|
f.tag&&(null==f.attrs&&(f.attrs={}),null!=f.text&&(f.attrs.value=f.text));e=a.attrs;q=f.attrs;t=b;if(null!=q)for(k in q)w(f,k,e&&e[k],q[k],t);if(null!=e)for(k in e)null!=q&&k in q||("o"!==k[0]||"n"!==k[1]||v(k)?"key"!==k&&f.dom.removeAttribute(k):C(f,k,void 0));null!=a.text&&null!=f.text&&""!==f.text?a.text.toString()!==f.text.toString()&&(a.dom.firstChild.nodeValue=f.text):(null!=a.text&&(a.children=[u("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=f.text&&(f.children=[u("#",void 0,void 0,
|
|
f.text,void 0,void 0)]),l(d,a.children,f.children,c,null,b))}else f.instance=u.normalize(f.tag.view.call(f.state,f)),J(f.tag,f,c,e),null!=f.instance?(null==a.instance?p(b,r(f.instance,c,q),d):n(b,a.instance,f.instance,c,d,e,q),f.dom=f.instance.dom,f.domSize=f.instance.domSize):null!=a.instance?(A(b,a.instance,null),f.dom=void 0,f.domSize=0):(f.dom=a.dom,f.domSize=a.domSize)}else A(b,a,null),p(b,r(f,c,void 0),d)}function m(b){var a=b.domSize;if(null!=a||null==b.dom){var f=x.createDocumentFragment();
|
|
if(0<a){for(b=b.dom;--a;)f.appendChild(b.nextSibling);f.insertBefore(b,f.firstChild)}return f}return b.dom}function k(b,a,f){for(;a<b.length;a++)if(null!=b[a]&&null!=b[a].dom)return b[a].dom;return f}function p(b,a,f){f&&f.parentNode?b.insertBefore(a,f):b.appendChild(a)}function z(b,a,f,c,d){for(;f<c;f++){var e=a[f];null!=e&&(e.skip?e.skip=!1:A(b,e,d))}}function c(b){var a=!1;return function(){a||(a=!0,b())}}function A(b,a,f){function d(){if(++w===e&&(h(a),a.dom)){var q=a.domSize||1;if(1<q)for(var c=
|
|
a.dom;--q;)b.removeChild(c.nextSibling);null!=a.dom.parentNode&&b.removeChild(a.dom);if(q=null!=f&&null==a.domSize)q=a.attrs,q=!(null!=q&&(q.oncreate||q.onupdate||q.onbeforeremove||q.onremove));q&&"string"===typeof a.tag&&(f.pool?f.pool.push(a):f.pool=[a])}}var e=1,w=0;a.attrs&&a.attrs.onbeforeremove&&(e++,a.attrs.onbeforeremove.call(a.state,a,c(d)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(e++,a.tag.onbeforeremove.call(a.state,a,c(d)));d()}function h(b){b.attrs&&b.attrs.onremove&&b.attrs.onremove.call(b.state,
|
|
b);"string"!==typeof b.tag&&b.tag.onremove&&b.tag.onremove.call(b.state,b);if(null!=b.instance)h(b.instance);else if(b=b.children,b instanceof Array)for(var a=0;a<b.length;a++){var f=b[a];null!=f&&h(f)}}function w(b,a,f,c,d){var e=b.dom;if("key"!==a&&(f!==c||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&b.dom===x.activeElement||"object"===typeof c)&&"undefined"!==typeof c&&!v(a)){var q=a.indexOf(":");if(-1<q&&"xlink"===a.substr(0,q))e.setAttributeNS("http://www.w3.org/1999/xlink",
|
|
a.slice(q+1),c);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof c)C(b,a,c);else if("style"===a)if(b=f,b===c&&(e.style.cssText="",b=null),null==c)e.style.cssText="";else if("string"===typeof c)e.style.cssText=c;else{"string"===typeof b&&(e.style.cssText="");for(var t in c)e.style[t]=c[t];if(null!=b&&"string"!==typeof b)for(t in b)t in c||(e.style[t]="")}else if(a in e&&"href"!==a&&"list"!==a&&"form"!==a&&void 0===d){if("input"!==b.tag||"value"!==a||b.dom.value!==c||b.dom!==x.activeElement)e[a]=
|
|
c}else"boolean"===typeof c?c?e.setAttribute(a,""):e.removeAttribute(a):e.setAttribute("className"===a?"class":a,c)}}function v(b){return"oninit"===b||"oncreate"===b||"onupdate"===b||"onremove"===b||"onbeforeremove"===b||"onbeforeupdate"===b}function C(b,a,c){var d=b.dom,e=function(a){var b=c.call(d,a);"function"===typeof I&&I.call(d,a);return b};if(a in d)d[a]=e;else{var h=a.slice(2);void 0===b.events&&(b.events={});null!=b.events[a]&&d.removeEventListener(h,b.events[a],!1);"function"===typeof c&&
|
|
(b.events[a]=e,d.addEventListener(h,b.events[a],!1))}}function y(b,a,c){"function"===typeof b.oninit&&b.oninit.call(a.state,a);"function"===typeof b.oncreate&&c.push(b.oncreate.bind(a.state,a))}function J(b,a,c,d){d?y(b,a,c):"function"===typeof b.onupdate&&c.push(b.onupdate.bind(a.state,a))}function P(b,a){Object.keys(a).forEach(function(c){b[c]=a[c]})}var x=d.document,D=x.createDocumentFragment(),I;return{render:function(b,a){var c=[],d=x.activeElement;null==b.vnodes&&(b.textContent="");a instanceof
|
|
Array||(a=[a]);l(b,b.vnodes,u.normalizeChildren(a),c,null,void 0);b.vnodes=a;for(var e=0;e<c.length;e++)c[e]();x.activeElement!==d&&d.focus()},setEventCallback:function(b){return I=b}}}(window),D=function(d){function e(d,g){if(g instanceof Array)for(var m=0;m<g.length;m++)e(d+"["+m+"]",g[m]);else if("[object Object]"===Object.prototype.toString.call(g))for(m in g)e(d+"["+m+"]",g[m]);else r.push(encodeURIComponent(d)+(null!=g&&""!==g?"="+encodeURIComponent(g):""))}if("[object Object]"!==Object.prototype.toString.call(d))return"";
|
|
var r=[],g;for(g in d)e(g,d[g]);return r.join("&")},M=function(d){function e(){function a(){0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);return a._state.value}r(a,arguments);0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);return a}function r(a,b){a.constructor=e;a._state={id:H++,value:void 0,error:void 0,state:0,derive:void 0,recover:void 0,deps:{},parents:[],errorStream:void 0,endStream:void 0};a.map=J;a.ap=D;a.of=e;a.valueOf=x;a.toJSON=G;a.toString=x;a.run=c;a["catch"]=
|
|
A;Object.defineProperties(a,{error:{get:function(){if(!a._state.errorStream){var b=function(){0<arguments.length&&arguments[0]!==E&&g(a,void 0,arguments[0]);return a._state.error};r(b,[]);v(b,[a],F,F);a._state.errorStream=b}return a._state.errorStream}},end:{get:function(){if(!a._state.endStream){var b=e();b.map(function(c){!0===c&&(y(a),y(b));return c});a._state.endStream=b}return a._state.endStream}}})}function g(a,b,c){l(a,b,c);for(var d in a._state.deps)m(a._state.deps[d],!1);a._state.changed=
|
|
!1;for(var f in a._state.deps)a._state.deps[f]._state.changed=!1}function l(a,b,c){c=p(b,c);if(void 0!==c&&"function"===typeof a._state.recover){if(!k(a,n,!0))return}else n(a,b,c);a._state.changed=!0;2!==a._state.state&&(a._state.state=1)}function n(a,b,c){a._state.value=b;a._state.error=c}function m(a,c){var d=a._state.parents;0<d.length&&d.filter(I).length===d.length&&(c||0<d.filter(b).length)&&(d=d.filter(f),0<d.length?l(a,void 0,d[0]._state.error):k(a,l,!1))}function k(a,b,c){try{var d=c?a._state.recover():
|
|
a._state.derive();if(d===E)return!1;b(a,d,void 0)}catch(f){b(a,void 0,null!=f.__error?f.__error:f),null==f.__error&&z(a,f)}return!0}function p(a,b){null!=a&&a.constructor===e&&(b=void 0!==a._state.error?a._state.error:p(a._state.value,a._state.error));return b}function z(a,b){0===Object.keys(a._state.deps).length&&setTimeout(function(){0===Object.keys(a._state.deps).length&&d(b)},0)}function c(a){var b=e(),c=this;return v(b,[c],function(){return w(b,a(c()))},void 0)}function A(a){var b=e(),c=this;
|
|
return v(b,[c],function(){return c._state.value},function(){return w(b,a(c._state.error))})}function h(a,c){return v(e(),c,function(){var d=c.filter(f);if(0<d.length)throw{__error:d[0]._state.error};return a.apply(this,c.concat([c.filter(b)]))},void 0)}function w(a,b){if(null!=b&&b.constructor===e){var c=b,d=function(){l(a,c._state.value,c._state.error);for(var b in a._state.deps)m(a._state.deps[b],!1)};c.map(d)["catch"](function(a){d();throw{__error:a};});if(0===c._state.state)return E;if(c._state.error)throw{__error:c._state.error};
|
|
b=c._state.value}return b}function v(b,c,d,f){var e=b._state;e.derive=d;e.recover=f;e.parents=c.filter(a);u(b,e.parents);m(b,!0);return b}function u(a,b){for(var c=0;c<b.length;c++)b[c]._state.deps[a._state.id]=a,u(a,b[c]._state.parents)}function y(a){for(var b=0;b<a._state.parents.length;b++)delete a._state.parents[b]._state.deps[a._state.id];for(var c in a._state.deps){var b=a._state.deps[c],d=b._state.parents.indexOf(a);-1<d&&b._state.parents.splice(d,1)}a._state.state=2;a._state.deps={}}function J(a){return h(function(b){return a(b())},
|
|
[this])}function D(a){return h(function(a,b){return a()(b())},[this,a])}function x(){return this._state.value}function G(){return null!=this._state.value&&"function"===typeof this._state.value.toJSON?this._state.value.toJSON():this._state.value}function I(a){return 1===a._state.state}function b(a){return a._state.changed}function a(a){return 2!==a._state.state}function f(a){return a._state.error}var H=0,F=function(){},E={};e.merge=function(a){return h(function(){return a.map(function(a){return a()})},
|
|
a)};e.combine=h;e.reject=function(a){var b=e();b.error(a);return b};e.HALT=E;return e},K=function(d,e){function r(c,d){if(null==d)return c;for(var e=c.match(/:[^\/]+/gi)||[],g=0;g<e.length;g++){var p=e[g].slice(1);null!=d[p]&&(c=c.replace(e[g],d[p]),delete d[p])}return c}function g(c,d){var e=D(d);if(""!==e){var g=0>c.indexOf("?")?"?":"&";c+=g+e}return c}function l(c){try{return""!==c?JSON.parse(c):null}catch(d){throw Error(c);}}function n(c){return c.responseText}function m(c,d){if("function"===
|
|
typeof c)if(d instanceof Array)for(var e=0;e<d.length;e++)d[e]=new c(d[e]);else return new c(d);return d}var k=M(e),p=0,z;return{request:function(c){var e=k();void 0!==c.initialValue&&e(c.initialValue);var h="boolean"===typeof c.useBody?c.useBody:"GET"!==c.method&&"TRACE"!==c.method;"function"!==typeof c.serialize&&(c.serialize="undefined"!==typeof FormData&&c.data instanceof FormData?function(c){return c}:JSON.stringify);"function"!==typeof c.deserialize&&(c.deserialize=l);"function"!==typeof c.extract&&
|
|
(c.extract=n);c.url=r(c.url,c.data);h?c.data=c.serialize(c.data):c.url=g(c.url,c.data);var p=new d.XMLHttpRequest;p.open(c.method,c.url,"boolean"===typeof c.async?c.async:!0,"string"===typeof c.user?c.user:void 0,"string"===typeof c.password?c.password:void 0);c.serialize===JSON.stringify&&h&&p.setRequestHeader("Content-Type","application/json; charset=utf-8");c.deserialize===l&&p.setRequestHeader("Accept","application/json, text/*");"function"===typeof c.config&&(p=c.config(p,c)||p);p.onreadystatechange=
|
|
function(){if(4===p.readyState){try{var d=c.extract!==n?c.extract(p,c):c.deserialize(c.extract(p,c));if(200<=p.status&&300>p.status)e(m(c.type,d));else{var g=Error(p.responseText),h;for(h in d)g[h]=d[h];e.error(g)}}catch(k){e.error(k)}"function"===typeof z&&z()}};h?p.send(c.data):p.send();return e},jsonp:function(c){var e=k();void 0!==c.initialValue&&e(c.initialValue);var h=c.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+p++,l=d.document.createElement("script");d[h]=function(p){l.parentNode.removeChild(l);
|
|
e(m(c.type,p));"function"===typeof z&&z();delete d[h]};l.onerror=function(){l.parentNode.removeChild(l);e.error(Error("JSONP request failed"));"function"===typeof z&&z();delete d[h]};null==c.data&&(c.data={});c.url=r(c.url,c.data);c.data[c.callbackKey||"callback"]=h;l.src=g(c.url,c.data);d.document.documentElement.appendChild(l);return e},setCompletionCallback:function(c){z=c}}}(window,console.error.bind(console)),G=function(){var d=[];return{subscribe:d.push.bind(d),unsubscribe:function(e){e=d.indexOf(e);
|
|
-1<e&&d.splice(e,1)},publish:function(){for(var e=0;e<d.length;e++)d[e].apply(this,arguments)}}}(),L=function(d){if(""===d||null==d)return{};"?"===d.charAt(0)&&(d=d.slice(1));d=d.split("&");for(var e={},r={},g=0;g<d.length;g++){var l=d[g].split("="),n=decodeURIComponent(l[0]),l=2===l.length?decodeURIComponent(l[1]):"",m=Number(l);""!==l&&!isNaN(m)||"NaN"===l?l=m:"true"===l?l=!0:"false"===l?l=!1:(m=new Date(l),isNaN(m.getTime())||(l=m));var m=n.split(/\]\[?|\[/),k=e;-1<n.indexOf("[")&&m.pop();for(var p=
|
|
0;p<m.length;p++){var n=m[p],z=m[p+1],z=""==z||!isNaN(parseInt(z,10)),c=p===m.length-1;""===n&&(n=m.slice(0,p).join(),null==r[n]&&(r[n]=0),n=r[n]++);null==k[n]&&(k[n]=c?l:z?[]:{});k=k[n]}}return e};K.setCompletionCallback(G.publish);var Q=function(d){function e(e){var g=d.location[e].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===e&&"/"!==g[0]&&(g="/"+g);return g}function r(d,e,c){var g=d.indexOf("?"),h=d.indexOf("#"),l=-1<g?g:-1<h?h:d.length;if(-1<g){var g=L(d.slice(g+1,-1<h?
|
|
h:d.length)),k;for(k in g)e[k]=g[k]}if(-1<h)for(k in e=L(d.slice(h+1)),e)c[k]=e[k];return d.slice(0,l)}function g(){switch(k.charAt(0)){case "#":return e("hash").slice(k.length);case "?":return e("search").slice(k.length)+e("hash");default:return e("pathname").slice(k.length)+e("search")+e("hash")}}function l(e,g,c){var l={},h={};e=r(e,l,h);if(null!=g){for(var m in g)l[m]=g[m];e=e.replace(/:([^\/]+)/g,function(c,d){delete l[d];return g[d]})}(m=D(l))&&(e+="?"+m);(h=D(h))&&(e+="#"+h);n?(c&&c.replace?
|
|
d.history.replaceState(null,null,k+e):d.history.pushState(null,null,k+e),d.onpopstate()):d.location.href=k+e}var n="function"===typeof d.history.pushState,m="function"===typeof setImmediate?setImmediate:setTimeout,k="#!";return{setPrefix:function(d){k=d},getPath:g,setPath:l,defineRoutes:function(e,l,c){function u(){var d=g(),k={},n=r(d,k,k);m(function(){for(var g in e){var m=new RegExp("^"+g.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(m.test(n)){n.replace(m,function(){for(var c=
|
|
g.match(/:[^\/]+/g)||[],m=[].slice.call(arguments,1,-2),n=0;n<c.length;n++)k[c[n].replace(/:|\./g,"")]=decodeURIComponent(m[n]);l(e[g],k,d,g)});return}}c(d,k)})}n?d.onpopstate=u:"#"===k.charAt(0)&&(d.onhashchange=u);u();return u},link:function(d){d.dom.setAttribute("href",k+d.attrs.href);d.dom.onclick=function(e){e.preventDefault();e.redraw=!1;l(d.attrs.href,void 0,void 0)}}}},R=function(d){var e=0,r=null,g="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(l){var n=
|
|
Date.now();!0===l||0===e||16<=n-e?(e=n,d()):null===r&&(r=g(function(){r=null;d();e=Date.now()},16-(n-e)))}},N=function(d,e,r,g){g=R(g);null!=e&&e.setEventCallback(function(d){!1!==d.redraw&&r.publish()});null!=r&&(d.redraw&&r.unsubscribe(d.redraw),r.subscribe(g));return d.redraw=g};y.route=function(d,e,r){var g=Q(d);d=function(d,n,m){var k=null,p="div";m=g.defineRoutes(m,function(g,c,m,h){function n(h){r||(r=!0,k=m,p=h,e.render(d,g.render(u(h,null,c,void 0,void 0,void 0))))}var r=!1;c.path=m;c.route=
|
|
h;if("function"!==typeof g.view)if("function"!==typeof g.render&&(g.render=function(c){return c}),"function"!==typeof g.onmatch&&(g.onmatch=function(){n(p)}),m!==k)g.onmatch(u(g,null,c,void 0,void 0,void 0),n);else n(p);else e.render(d,u(g,null,c,void 0,void 0,void 0))},function(){g.setPath(n,null,{replace:!0})});N(d,e,r,m)};d.link=g.link;d.prefix=g.setPrefix;d.set=g.setPath;d.get=g.getPath;return d}(window,F,G);y.mount=function(d,e){return function(r,g){null===g?(d.render(r,[]),e.unsubscribe(r.redraw),
|
|
delete r.redraw):N(r,d,e,function(){d.render(r,u(g,void 0,void 0,void 0,void 0,void 0))})()}}(F,G);y.withAttr=function(d,e,r){return function(g){return e.call(r||this,d in g.currentTarget?g.currentTarget[d]:g.currentTarget.getAttribute(d))}};y.prop=M(console.log.bind(console));y.render=F.render;y.redraw=G.publish;y.request=K.request;y.jsonp=K.jsonp;y.parseQueryString=L;y.buildQueryString=D;y.version="1.0.0";"undefined"!==typeof module?module.exports=y:window.m=y}; |