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