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