build
This commit is contained in:
parent
4a4bd7a548
commit
fbdf798e79
3 changed files with 80 additions and 66 deletions
81
mithril.min.js
vendored
81
mithril.min.js
vendored
|
|
@ -1,40 +1,41 @@
|
|||
new function(){function n(a,h,l,b,f,k){return{tag:a,key:h,attrs:l,children:b,text:f,dom:k,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function A(a){if(null==a||"string"!==typeof a&&null==a.view)throw Error("The selector must be either a string or a component.");if("string"===typeof a&&void 0===I[a]){for(var h,l,b=[],f={};h=O.exec(a);){var k=h[1],v=h[2];""===k&&""!==v?l=v:"#"===k?f.id=v:"."===k?b.push(v):"["===h[3][0]&&((k=h[6])&&(k=k.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),
|
||||
"class"===h[4]?b.push(k):f[h[4]]=k||!0)}0<b.length&&(f.className=b.join(" "));I[a]=function(a,b){var k=!1,h,d,w=a.className||a["class"],u;for(u in f)a[u]=f[u];void 0!==w&&(void 0!==a["class"]&&(a["class"]=void 0,a.className=w),void 0!==f.className&&(a.className=f.className+" "+w));for(u in a)if("key"!==u){k=!0;break}b instanceof Array&&1==b.length&&null!=b[0]&&"#"===b[0].tag?d=b[0].children:h=b;return n(l||"div",a.key,k?a:void 0,h,d,void 0)}}var p;null!=arguments[1]&&("object"!==typeof arguments[1]||
|
||||
void 0!==arguments[1].tag||arguments[1]instanceof Array)?b=1:(p=arguments[1],b=2);if(arguments.length===b+1)h=arguments[b]instanceof Array?arguments[b]:[arguments[b]];else for(h=[];b<arguments.length;b++)h.push(arguments[b]);return"string"===typeof a?I[a](p||{},n.normalizeChildren(h)):n(a,p&&p.key,p||{},n.normalizeChildren(h),void 0,void 0)}n.normalize=function(a){return a instanceof Array?n("[",void 0,void 0,n.normalizeChildren(a),void 0,void 0):null!=a&&"object"!==typeof a?n("#",void 0,void 0,a,
|
||||
void 0,void 0):a};n.normalizeChildren=function(a){for(var h=0;h<a.length;h++)a[h]=n.normalize(a[h]);return a};var O=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,I={};A.trust=function(a){null==a&&(a="");return n("<",void 0,void 0,a,void 0,void 0)};A.fragment=function(a,h){return n("[",a.key,a,n.normalizeChildren(h),void 0,void 0)};var t=function(a){function h(a,h){return function w(u){var r;try{if(!h||null==u||"object"!==typeof u&&"function"!==typeof u||"function"!==
|
||||
typeof(r=u.then))C(function(){h||0!==a.length||console.error("Possible unhandled promise rejection:",u);for(var b=0;b<a.length;b++)a[b](u);f.length=0;k.length=0;q.state=h;q.retry=function(){w(u)}});else{if(u===b)throw new TypeError("Promise can't be resolved w/ itself");l(r.bind(u))}}catch(F){p(F)}}}function l(a){function b(a){return function(b){0<d++||a(b)}}var d=0,f=b(p);try{a(b(v),f)}catch(u){f(u)}}if(!(this instanceof t))throw Error("Promise must be called with `new`");if("function"!==typeof a)throw new TypeError("executor must be a function");
|
||||
var b=this,f=[],k=[],v=h(f,!0),p=h(k,!1),q=b._instance={resolvers:f,rejectors:k},C="function"===typeof setImmediate?setImmediate:setTimeout;l(a)};t.prototype.then=function(a,h){function l(a,h,l,r){h.push(function(b){if("function"!==typeof a)l(b);else try{f(a(b))}catch(d){k&&k(d)}});"function"===typeof b.retry&&r===b.state&&b.retry()}var b=this._instance,f,k,v=new t(function(a,b){f=a;k=b});l(a,b.resolvers,f,!0);l(h,b.rejectors,k,!1);return v};t.prototype["catch"]=function(a){return this.then(null,
|
||||
a)};t.resolve=function(a){return a instanceof t?a:new t(function(h){h(a)})};t.reject=function(a){return new t(function(h,l){l(a)})};t.all=function(a){return new t(function(h,l){var b=a.length,f=0,k=[];if(0===a.length)h([]);else for(var v=0;v<a.length;v++)(function(v){function q(a){f++;k[v]=a;f===b&&h(k)}null==a[v]||"object"!==typeof a[v]&&"function"!==typeof a[v]||"function"!==typeof a[v].then?q(a[v]):a[v].then(q,l)})(v)})};t.race=function(a){return new t(function(h,l){for(var b=0;b<a.length;b++)a[b].then(h,
|
||||
l)})};"undefined"===typeof Promise&&("undefined"!==typeof window?window.Promise=t:"undefined"!==typeof global&&(global.Promise=t));var E=function(a){function h(a,b){if(b instanceof Array)for(var f=0;f<b.length;f++)h(a+"["+f+"]",b[f]);else if("[object Object]"===Object.prototype.toString.call(b))for(f in b)h(a+"["+f+"]",b[f]);else l.push(encodeURIComponent(a)+(null!=b&&""!==b?"="+encodeURIComponent(b):""))}if("[object Object]"!==Object.prototype.toString.call(a))return"";var l=[],b;for(b in a)h(b,
|
||||
a[b]);return l.join("&")},J=function(a,h){function l(){0===--r&&"function"===typeof m&&m()}function b(a){var d=a.then;a.then=function(){r++;var f=d.apply(a,arguments);f.then(l,function(a){l();throw a;});return b(f)};return a}function f(a,b){if(null==b)return a;for(var d=a.match(/:[^\/]+/gi)||[],f=0;f<d.length;f++){var h=d[f].slice(1);null!=b[h]&&(a=a.replace(d[f],b[h]),delete b[h])}return a}function k(a,b){var d=E(b);if(""!==d){var f=0>a.indexOf("?")?"?":"&";a+=f+d}return a}function v(a){try{return""!==
|
||||
a?JSON.parse(a):null}catch(w){throw Error(a);}}function p(a){return a.responseText}function q(a,b){if("function"===typeof a)if(b instanceof Array)for(var d=0;d<b.length;d++)b[d]=new a(b[d]);else return new a(b);return b}var n=0,r=0,m;return{request:function(d,l){return b(new h(function(b,h){if("string"===typeof d){var r=d;d=l||{};null==d.url&&(d.url=r)}null==d.method&&(d.method="GET");d.method=d.method.toUpperCase();r="boolean"===typeof d.useBody?d.useBody:"GET"!==d.method&&"TRACE"!==d.method;"function"!==
|
||||
typeof d.serialize&&(d.serialize="undefined"!==typeof FormData&&d.data instanceof FormData?function(a){return a}:JSON.stringify);"function"!==typeof d.deserialize&&(d.deserialize=v);"function"!==typeof d.extract&&(d.extract=p);d.url=f(d.url,d.data);r?d.data=d.serialize(d.data):d.url=k(d.url,d.data);var m=new a.XMLHttpRequest;m.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&&
|
||||
r&&m.setRequestHeader("Content-Type","application/json; charset=utf-8");d.deserialize===v&&m.setRequestHeader("Accept","application/json, text/*");d.withCredentials&&(m.withCredentials=d.withCredentials);"function"===typeof d.config&&(m=d.config(m,d)||m);m.onreadystatechange=function(){if(4===m.readyState)try{var a=d.extract!==p?d.extract(m,d):d.deserialize(d.extract(m,d));if(200<=m.status&&300>m.status||304===m.status)b(q(d.type,a));else{var f=Error(m.responseText),k;for(k in a)f[k]=a[k];h(f)}}catch(G){h(G)}};
|
||||
r&&null!=d.data?m.send(d.data):m.send()}))},jsonp:function(d){return b(new h(function(b,h){var m=d.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+n++,r=a.document.createElement("script");a[m]=function(f){r.parentNode.removeChild(r);b(q(d.type,f));delete a[m]};r.onerror=function(){r.parentNode.removeChild(r);h(Error("JSONP request failed"));delete a[m]};null==d.data&&(d.data={});d.url=f(d.url,d.data);d.data[d.callbackKey||"callback"]=m;r.src=k(d.url,d.data);a.document.documentElement.appendChild(r)}))},
|
||||
setCompletionCallback:function(a){m=a}}}(window,"undefined"!==typeof Promise?Promise:t),N=function(a){function h(g,c,a,b,d,f,h){for(;a<b;a++){var e=c[a];null!=e&&q(g,l(e,d,h),f)}}function l(g,c,a){var e=g.tag;null!=g.attrs&&t(g.attrs,g,c);if("string"===typeof e)switch(e){case "#":return g.dom=B.createTextNode(g.children);case "<":return b(g);case "[":var d=B.createDocumentFragment();null!=g.children&&(e=g.children,h(d,e,0,e.length,c,null,a));g.dom=d.firstChild;g.domSize=d.childNodes.length;return d;
|
||||
default:var f=g.tag;switch(g.tag){case "svg":a="http://www.w3.org/2000/svg";break;case "math":a="http://www.w3.org/1998/Math/MathML"}var m=(e=g.attrs)&&e.is,f=a?m?B.createElementNS(a,f,{is:m}):B.createElementNS(a,f):m?B.createElement(f,{is:m}):B.createElement(f);g.dom=f;if(null!=e)for(d in m=a,e)u(g,d,null,e[d],m);null!=g.attrs&&null!=g.attrs.contenteditable?C(g):(null!=g.text&&(""!==g.text?f.textContent=g.text:g.children=[n("#",void 0,void 0,g.text,void 0,void 0)]),null!=g.children&&(d=g.children,
|
||||
h(f,d,0,d.length,c,null,a),c=g.attrs,"select"===g.tag&&null!=c&&("value"in c&&u(g,"value",null,c.value,void 0),"selectedIndex"in c&&u(g,"selectedIndex",null,c.selectedIndex,void 0))));return f}else{g.state||(g.state={});E(g.state,g.tag);d=g.tag.view;if(null!=d.reentrantLock)g=G;else if(d.reentrantLock=!0,t(g.tag,g,c),g.instance=n.normalize(d.call(g.state,g)),d.reentrantLock=null,null!=g.instance){if(g.instance===g)throw Error("A view cannot return the vnode it received as arguments");c=l(g.instance,
|
||||
c,a);g.dom=g.instance.dom;g.domSize=null!=g.dom?g.instance.domSize:0;g=c}else g.domSize=0,g=G;return g}}function b(g){var c={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(g.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",c=B.createElement(c);c.innerHTML=g.children;g.dom=c.firstChild;g.domSize=c.childNodes.length;g=B.createDocumentFragment();for(var a;a=c.firstChild;)g.appendChild(a);return g}function f(g,c,a,d,b,f){if(c!==a&&
|
||||
(null!=c||null!=a))if(null==c)h(g,a,0,a.length,d,b,void 0);else if(null==a)r(c,0,c.length,a);else if(c.length===a.length&&null!=a[0]&&null==a[0].key)for(var e=0;e<c.length;e++)c[e]===a[e]||null==c[e]&&null==a[e]||(null==c[e]?q(g,l(a[e],d,f),p(c,e+1,b)):null==a[e]?r(c,e,e+1,a):k(g,c[e],a[e],d,p(c,e+1,b),!1,f));else{a:{if(null!=c.pool&&Math.abs(c.pool.length-a.length)<=Math.abs(c.length-a.length)&&(e=a[0]&&a[0].children&&a[0].children.length||0,Math.abs((c.pool[0]&&c.pool[0].children&&c.pool[0].children.length||
|
||||
0)-e)<=Math.abs((c[0]&&c[0].children&&c[0].children.length||0)-e))){e=!0;break a}e=!1}e&&(c=c.concat(c.pool));for(var m=0,y=0,z=c.length-1,u=a.length-1,w;z>=m&&u>=y;){var x=c[m],n=a[y];if(x!==n||e)if(null==x)m++;else if(null==n)y++;else if(x.key===n.key)m++,y++,k(g,x,n,d,p(c,m,b),e,f),e&&x.tag===n.tag&&q(g,v(x),b);else if(x=c[z],x!==n||e)if(null==x)z--;else if(null==n)y++;else if(x.key===n.key)k(g,x,n,d,p(c,z+1,b),e,f),(e||y<u)&&q(g,v(x),p(c,m,b)),z--,y++;else break;else z--,y++;else m++,y++}for(;z>=
|
||||
m&&u>=y;){x=c[z];n=a[u];if(x!==n||e)if(null==x)z--;else{if(null!=n)if(x.key===n.key)k(g,x,n,d,p(c,z+1,b),e,f),e&&x.tag===n.tag&&q(g,v(x),b),null!=x.dom&&(b=x.dom),z--;else{if(!w){w=c;var x=z,D={},t;for(t=0;t<x;t++){var C=w[t];null!=C&&(C=C.key,null!=C&&(D[C]=t))}w=D}null!=n&&(x=w[n.key],null!=x?(D=c[x],k(g,D,n,d,p(c,z+1,b),e,f),q(g,v(D),b),c[x].skip=!0,null!=D.dom&&(b=D.dom)):(n=l(n,d,void 0),q(g,n,b),b=n))}u--}else z--,u--;if(u<y)break}h(g,a,y,u+1,d,b,f);r(c,m,z+1,a)}}function k(a,c,e,h,m,r,w){var g=
|
||||
c.tag;if(g===e.tag){e.state=c.state;e.events=c.events;var y;var z;null!=e.attrs&&"function"===typeof e.attrs.onbeforeupdate&&(y=e.attrs.onbeforeupdate.call(e.state,e,c));"string"!==typeof e.tag&&"function"===typeof e.tag.onbeforeupdate&&(z=e.tag.onbeforeupdate.call(e.state,e,c));void 0===y&&void 0===z||y||z?y=!1:(e.dom=c.dom,e.domSize=c.domSize,e.instance=c.instance,y=!0);if(!y)if(null!=e.attrs&&A(e.attrs,e,h,r),"string"===typeof g)switch(g){case "#":c.children.toString()!==e.children.toString()&&
|
||||
(c.dom.nodeValue=e.children);e.dom=c.dom;break;case "<":c.children!==e.children?(v(c),q(a,b(e),m)):(e.dom=c.dom,e.domSize=c.domSize);break;case "[":f(a,c.children,e.children,h,m,w);c=0;h=e.children;e.dom=null;if(null!=h){for(var p=0;p<h.length;p++)a=h[p],null!=a&&null!=a.dom&&(null==e.dom&&(e.dom=a.dom),c+=a.domSize||1);1!==c&&(e.domSize=c)}break;default:a=w;m=e.dom=c.dom;switch(e.tag){case "svg":a="http://www.w3.org/2000/svg";break;case "math":a="http://www.w3.org/1998/Math/MathML"}"textarea"===
|
||||
e.tag&&(null==e.attrs&&(e.attrs={}),null!=e.text&&(e.attrs.value=e.text,e.text=void 0));r=c.attrs;w=e.attrs;g=a;if(null!=w)for(p in w)u(e,p,r&&r[p],w[p],g);if(null!=r)for(p in r)null!=w&&p in w||("className"===p&&(p="class"),"o"!==p[0]||"n"!==p[1]||M(p)?"key"!==p&&e.dom.removeAttribute(p):F(e,p,void 0));null!=e.attrs&&null!=e.attrs.contenteditable?C(e):null!=c.text&&null!=e.text&&""!==e.text?c.text.toString()!==e.text.toString()&&(c.dom.firstChild.nodeValue=e.text):(null!=c.text&&(c.children=[n("#",
|
||||
void 0,void 0,c.text,void 0,c.dom.firstChild)]),null!=e.text&&(e.children=[n("#",void 0,void 0,e.text,void 0,void 0)]),f(m,c.children,e.children,h,null,a))}else e.instance=n.normalize(e.tag.view.call(e.state,e)),A(e.tag,e,h,r),null!=e.instance?(null==c.instance?q(a,l(e.instance,h,w),m):k(a,c.instance,e.instance,h,m,r,w),e.dom=e.instance.dom,e.domSize=e.instance.domSize):null!=c.instance?(d(c.instance,null),e.dom=void 0,e.domSize=0):(e.dom=c.dom,e.domSize=c.domSize)}else d(c,null),q(a,l(e,h,w),m)}
|
||||
function v(a){var g=a.domSize;if(null!=g||null==a.dom){var e=B.createDocumentFragment();if(0<g){for(a=a.dom;--g;)e.appendChild(a.nextSibling);e.insertBefore(a,e.firstChild)}return e}return a.dom}function p(a,c,e){for(;c<a.length;c++)if(null!=a[c]&&null!=a[c].dom)return a[c].dom;return e}function q(a,c,e){e&&e.parentNode?a.insertBefore(c,e):a.appendChild(c)}function C(a){var c=a.children;if(null!=c&&1===c.length&&"<"===c[0].tag)c=c[0].children,a.dom.innerHTML!==c&&(a.dom.innerHTML=c);else if(null!=
|
||||
a.text||null!=c&&0!==c.length)throw Error("Child node of a contenteditable must be trusted");}function r(a,c,e,b){for(;c<e;c++){var g=a[c];null!=g&&(g.skip?g.skip=!1:d(g,b))}}function m(a){var c=!1;return function(){c||(c=!0,a())}}function d(a,c){function g(){if(++d===b&&(w(a),a.dom)){var g=a.domSize||1;if(1<g)for(var e=a.dom;--g;){var f=e.nextSibling,h=f.parentNode;null!=h&&h.removeChild(f)}g=a.dom;e=g.parentNode;null!=e&&e.removeChild(g);if(g=null!=c&&null==a.domSize)g=a.attrs,g=!(null!=g&&(g.oncreate||
|
||||
g.onupdate||g.onbeforeremove||g.onremove));g&&"string"===typeof a.tag&&(c.pool?c.pool.push(a):c.pool=[a])}}var b=1,d=0;a.attrs&&a.attrs.onbeforeremove&&(b++,a.attrs.onbeforeremove.call(a.state,a,m(g)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(b++,a.tag.onbeforeremove.call(a.state,a,m(g)));g()}function w(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)w(a.instance);else if(a=a.children,
|
||||
a instanceof Array)for(var c=0;c<a.length;c++){var g=a[c];null!=g&&w(g)}}function u(a,c,e,b,d){var g=a.dom;if("key"!==c&&(e!==b||"value"===c||"checked"===c||"selectedIndex"===c||"selected"===c&&a.dom===B.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!M(c)){var f=c.indexOf(":");if(-1<f&&"xlink"===c.substr(0,f))g.setAttributeNS("http://www.w3.org/1999/xlink",c.slice(f+1),b);else if("o"===c[0]&&"n"===c[1]&&"function"===typeof b)F(a,c,b);else if("style"===c)if(a=e,a===b&&(g.style.cssText=
|
||||
"",a=null),null==b)g.style.cssText="";else if("string"===typeof b)g.style.cssText=b;else{"string"===typeof a&&(g.style.cssText="");for(var h in b)g.style[h]=b[h];if(null!=a&&"string"!==typeof a)for(h in a)h in b||(g.style[h]="")}else c in g&&"href"!==c&&"list"!==c&&"form"!==c&&"width"!==c&&"height"!==c&&void 0===d?"input"===a.tag&&"value"===c&&a.dom.value===b&&a.dom===B.activeElement||"select"===a.tag&&"value"===c&&a.dom.value===b&&a.dom===B.activeElement||"option"===a.tag&&"value"===c&&a.dom.value===
|
||||
b||(g[c]=b):"boolean"===typeof b?b?g.setAttribute(c,""):g.removeAttribute(c):g.setAttribute("className"===c?"class":c,b)}}function M(a){return"oninit"===a||"oncreate"===a||"onupdate"===a||"onremove"===a||"onbeforeremove"===a||"onbeforeupdate"===a}function F(a,c,b){var e=a.dom,g=function(a){var c=b.call(e,a);"function"===typeof K&&K.call(e,a);return c};if(c in e)e[c]="function"===typeof b?g:null;else{var d=c.slice(2);void 0===a.events&&(a.events={});null!=a.events[c]&&e.removeEventListener(d,a.events[c],
|
||||
!1);"function"===typeof b&&(a.events[c]=g,e.addEventListener(d,a.events[c],!1))}}function t(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 A(a,c,b,d){d?t(a,c,b):"function"===typeof a.onupdate&&b.push(a.onupdate.bind(c.state,c))}function E(a,c){Object.keys(c).forEach(function(b){a[b]=c[b]})}var B=a.document,G=B.createDocumentFragment(),K;return{render:function(a,c){if(!a)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");
|
||||
var b=[],d=B.activeElement;null==a.vnodes&&(a.textContent="");c instanceof Array||(c=[c]);f(a,a.vnodes,n.normalizeChildren(c),b,null,void 0);a.vnodes=c;for(var g=0;g<b.length;g++)b[g]();B.activeElement!==d&&d.focus()},setEventCallback:function(a){return K=a}}},H=function(a){function h(a){a=b.indexOf(a);-1<a&&b.splice(a,2)}function l(){for(var a=1;a<b.length;a+=2)b[a]()}a=N(a);a.setEventCallback(function(a){!1!==a.redraw&&l()});var b=[];return{subscribe:function(a,k){h(a);b.push(a,k)},unsubscribe:h,
|
||||
redraw:l,render:a.render}}(window);J.setCompletionCallback(H.redraw);A.mount=function(a){function h(a){var b=0,f=null,h="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(){var k=Date.now();0===b||16<=k-b?(b=k,a()):null===f&&(f=h(function(){f=null;a();b=Date.now()},16-(k-b)))}}return function(l,b){if(null===b)a.render(l,[]),a.unsubscribe(l);else{if(null==b.view)throw Error("m.mount(element, component) expects a component, not a vnode");var f=h(function(){a.render(l,
|
||||
n(b))});a.subscribe(l,f);f()}}}(H);var L=function(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));a=a.split("&");for(var h={},l={},b=0;b<a.length;b++){var f=a[b].split("="),k=decodeURIComponent(f[0]),f=2===f.length?decodeURIComponent(f[1]):"";"true"===f?f=!0:"false"===f&&(f=!1);var n=k.split(/\]\[?|\[/),p=h;-1<k.indexOf("[")&&n.pop();for(var q=0;q<n.length;q++){var k=n[q],t=n[q+1],t=""==t||!isNaN(parseInt(t,10)),r=q===n.length-1;""===k&&(k=n.slice(0,q).join(),null==l[k]&&(l[k]=0),
|
||||
k=l[k]++);null==p[k]&&(p[k]=r?f:t?[]:{});p=p[k]}}return h},P=function(a){function h(b){var f=a.location[b].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===b&&"/"!==f[0]&&(f="/"+f);return f}function l(a){return function(b){null==t&&(t=p(function(){t=null;a(b)}))}}function b(a,b,d){var f=a.indexOf("?"),h=a.indexOf("#"),m=-1<f?f:-1<h?h:a.length;if(-1<f){var f=L(a.slice(f+1,-1<h?h:a.length)),k;for(k in f)b[k]=f[k]}if(-1<h)for(k in b=L(a.slice(h+1)),b)d[k]=b[k];return a.slice(0,m)}
|
||||
function f(){switch(q.charAt(0)){case "#":return h("hash").slice(q.length);case "?":return h("search").slice(q.length)+h("hash");default:return h("pathname").slice(q.length)+h("search")+h("hash")}}function k(f,h,d){var m={},k={};f=b(f,m,k);if(null!=h){for(var l in h)m[l]=h[l];f=f.replace(/:([^\/]+)/g,function(a,b){delete m[b];return h[b]})}(l=E(m))&&(f+="?"+l);(k=E(k))&&(f+="#"+k);n?(d&&d.replace?a.history.replaceState(null,null,q+f):a.history.pushState(null,null,q+f),a.onpopstate(!0)):a.location.href=
|
||||
q+f}var n="function"===typeof a.history.pushState,p="function"===typeof setImmediate?setImmediate:setTimeout,q="#!",t;return{setPrefix:function(a){q=a},getPath:f,setPath:k,defineRoutes:function(h,m,d){function k(a){var k=f(),l={},n=b(k,l,l),r;for(r in h){var p=new RegExp("^"+r.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(p.test(n)){n.replace(p,function(){for(var b=r.match(/:[^\/]+/g)||[],d=[].slice.call(arguments,1,-2),f=0;f<b.length;f++)l[b[f].replace(/:|\./g,"")]=
|
||||
decodeURIComponent(d[f]);m(h[r],l,k,r,!!a)});return}}d(k,l)}n?a.onpopstate=l(k):"#"===q.charAt(0)&&(a.onhashchange=k);k(!0);return function(){k(!1)}},link:function(a){a.dom.setAttribute("href",q+a.attrs.href);a.dom.onclick=function(a){a.ctrlKey||a.metaKey||a.shiftKey||2===a.which||(a.preventDefault(),a.redraw=!1,a=this.getAttribute("href"),0===a.indexOf(q)&&(a=a.slice(q.length)),k(a,void 0,void 0))}}}};A.route=function(a,h){var l=P(a),b=function(a){return a},f={render:b,component:null,path:null,resolve:null},
|
||||
k=function(a,k,q){if(null==a)throw Error("Ensure the DOM element that was passed to `m.route` is not undefined");var p=function(k,m,d,l){f.render=k.render||b;f.component=m;f.path=l;f.resolve=null;h.render(a,f.render(n(m,void 0,d)))};q=l.defineRoutes(q,function(a,b,d,h,k){a.view?p({},a,b,d):a.onmatch?!1===k&&f.path===d||null!=f.resolve?p(f,f.component,b):(f.resolve=function(f){p(a,f,b,d)},a.onmatch(function(a){f.path!==d&&null!=f.resolve&&f.resolve(a)},b,d)):p(a,"div",b,d)},function(){l.setPath(k)});
|
||||
h.subscribe(a,q)};k.set=l.setPath;k.get=function(){return f.path};k.prefix=l.setPrefix;k.link=l.link;return k}(window,H);A.withAttr=function(a,h,l){return function(b){return h.call(l||this,a in b.currentTarget?b.currentTarget[a]:b.currentTarget.getAttribute(a))}};var Q=N(window);A.render=Q.render;A.redraw=H.redraw;A.request=J.request;A.jsonp=J.jsonp;A.parseQueryString=L;A.buildQueryString=E;A.version="1.0.0-rc.5";"undefined"!==typeof module?module.exports=A:window.m=A};
|
||||
new function(){function v(a,f,g,c,d,h){return{tag:a,key:f,attrs:g,children:c,text:d,dom:h,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function A(a){if(null==a||"string"!==typeof a&&null==a.view)throw Error("The selector must be either a string or a component.");if("string"===typeof a&&void 0===I[a]){for(var f,g,c=[],d={};f=O.exec(a);){var h=f[1],q=f[2];""===h&&""!==q?g=q:"#"===h?d.id=q:"."===h?c.push(q):"["===f[3][0]&&((h=f[6])&&(h=h.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),
|
||||
"class"===f[4]?c.push(h):d[f[4]]=h||!0)}0<c.length&&(d.className=c.join(" "));I[a]=function(a,c){var b=!1,k,h,f=a.className||a["class"],y;for(y in d)a[y]=d[y];void 0!==f&&(void 0!==a["class"]&&(a["class"]=void 0,a.className=f),void 0!==d.className&&(a.className=d.className+" "+f));for(y in a)if("key"!==y){b=!0;break}c instanceof Array&&1==c.length&&null!=c[0]&&"#"===c[0].tag?h=c[0].children:k=c;return v(g||"div",a.key,b?a:void 0,k,h,void 0)}}var n;null!=arguments[1]&&("object"!==typeof arguments[1]||
|
||||
void 0!==arguments[1].tag||arguments[1]instanceof Array)?c=1:(n=arguments[1],c=2);if(arguments.length===c+1)f=arguments[c]instanceof Array?arguments[c]:[arguments[c]];else for(f=[];c<arguments.length;c++)f.push(arguments[c]);return"string"===typeof a?I[a](n||{},v.normalizeChildren(f)):v(a,n&&n.key,n||{},v.normalizeChildren(f),void 0,void 0)}v.normalize=function(a){return a instanceof Array?v("[",void 0,void 0,v.normalizeChildren(a),void 0,void 0):null!=a&&"object"!==typeof a?v("#",void 0,void 0,a,
|
||||
void 0,void 0):a};v.normalizeChildren=function(a){for(var f=0;f<a.length;f++)a[f]=v.normalize(a[f]);return a};var O=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,I={};A.trust=function(a){null==a&&(a="");return v("<",void 0,void 0,a,void 0,void 0)};A.fragment=function(a,f){return v("[",a.key,a,v.normalizeChildren(f),void 0,void 0)};var x=function(a){function f(b,a){return function t(k){var f;try{if(!a||null==k||"object"!==typeof k&&"function"!==typeof k||"function"!==
|
||||
typeof(f=k.then))r(function(){a||0!==b.length||console.error("Possible unhandled promise rejection:",k);for(var c=0;c<b.length;c++)b[c](k);d.length=0;h.length=0;m.state=a;m.retry=function(){t(k)}});else{if(k===c)throw new TypeError("Promise can't be resolved w/ itself");g(f.bind(k))}}catch(F){n(F)}}}function g(b){function a(b){return function(a){0<c++||b(a)}}var c=0,d=a(n);try{b(a(q),d)}catch(y){d(y)}}if(!(this instanceof x))throw Error("Promise must be called with `new`");if("function"!==typeof a)throw new TypeError("executor must be a function");
|
||||
var c=this,d=[],h=[],q=f(d,!0),n=f(h,!1),m=c._instance={resolvers:d,rejectors:h},r="function"===typeof setImmediate?setImmediate:setTimeout;g(a)};x.prototype.then=function(a,f){function g(a,f,g,b){f.push(function(b){if("function"!==typeof a)g(b);else try{d(a(b))}catch(C){h&&h(C)}});"function"===typeof c.retry&&b===c.state&&c.retry()}var c=this._instance,d,h,q=new x(function(a,c){d=a;h=c});g(a,c.resolvers,d,!0);g(f,c.rejectors,h,!1);return q};x.prototype["catch"]=function(a){return this.then(null,
|
||||
a)};x.resolve=function(a){return a instanceof x?a:new x(function(f){f(a)})};x.reject=function(a){return new x(function(f,g){g(a)})};x.all=function(a){return new x(function(f,g){var c=a.length,d=0,h=[];if(0===a.length)f([]);else for(var q=0;q<a.length;q++)(function(q){function m(a){d++;h[q]=a;d===c&&f(h)}null==a[q]||"object"!==typeof a[q]&&"function"!==typeof a[q]||"function"!==typeof a[q].then?m(a[q]):a[q].then(m,g)})(q)})};x.race=function(a){return new x(function(f,g){for(var c=0;c<a.length;c++)a[c].then(f,
|
||||
g)})};"undefined"===typeof Promise&&("undefined"!==typeof window?window.Promise=x:"undefined"!==typeof global&&(global.Promise=x));var D=function(a){function f(a,c){if(c instanceof Array)for(var d=0;d<c.length;d++)f(a+"["+d+"]",c[d]);else if("[object Object]"===Object.prototype.toString.call(c))for(d in c)f(a+"["+d+"]",c[d]);else g.push(encodeURIComponent(a)+(null!=c&&""!==c?"="+encodeURIComponent(c):""))}if("[object Object]"!==Object.prototype.toString.call(a))return"";var g=[],c;for(c in a)f(c,
|
||||
a[c]);return g.join("&")},J=function(a,f){function g(){function b(){0===--a&&"function"===typeof r&&r()}var a=0;return function t(c){var d=c.then;c.then=function(){a++;var f=d.apply(c,arguments);f.then(b,function(a){b();throw a;});return t(f)};return c}}function c(b,a){if(null==a)return b;for(var c=b.match(/:[^\/]+/gi)||[],d=0;d<c.length;d++){var f=c[d].slice(1);null!=a[f]&&(b=b.replace(c[d],a[f]),delete a[f])}return b}function d(b,a){var c=D(a);if(""!==c){var d=0>b.indexOf("?")?"?":"&";b+=d+c}return b}
|
||||
function h(b){try{return""!==b?JSON.parse(b):null}catch(k){throw Error(b);}}function q(b){return b.responseText}function n(b,a){if("function"===typeof b)if(a instanceof Array)for(var c=0;c<a.length;c++)a[c]=new b(a[c]);else return new b(a);return a}var m=0,r;return{request:function(b,k){var m=g();if("string"===typeof b){var t=b;b=k||{};null==b.url&&(b.url=t)}t=new f(function(f,k){null==b.method&&(b.method="GET");b.method=b.method.toUpperCase();var g="boolean"===typeof b.useBody?b.useBody:"GET"!==
|
||||
b.method&&"TRACE"!==b.method;"function"!==typeof b.serialize&&(b.serialize="undefined"!==typeof FormData&&b.data instanceof FormData?function(a){return a}:JSON.stringify);"function"!==typeof b.deserialize&&(b.deserialize=h);"function"!==typeof b.extract&&(b.extract=q);b.url=c(b.url,b.data);g?b.data=b.serialize(b.data):b.url=d(b.url,b.data);var m=new a.XMLHttpRequest;m.open(b.method,b.url,"boolean"===typeof b.async?b.async:!0,"string"===typeof b.user?b.user:void 0,"string"===typeof b.password?b.password:
|
||||
void 0);b.serialize===JSON.stringify&&g&&m.setRequestHeader("Content-Type","application/json; charset=utf-8");b.deserialize===h&&m.setRequestHeader("Accept","application/json, text/*");b.withCredentials&&(m.withCredentials=b.withCredentials);"function"===typeof b.config&&(m=b.config(m,b)||m);m.onreadystatechange=function(){if(4===m.readyState)try{var a=b.extract!==q?b.extract(m,b):b.deserialize(b.extract(m,b));if(200<=m.status&&300>m.status||304===m.status)f(n(b.type,a));else{var c=Error(m.responseText),
|
||||
d;for(d in a)c[d]=a[d];k(c)}}catch(G){k(G)}};g&&null!=b.data?m.send(b.data):m.send()});return!1===b.redraw?t:m(t)},jsonp:function(b){var k=g(),h=new f(function(f,h){var k=b.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+m++,g=a.document.createElement("script");a[k]=function(c){g.parentNode.removeChild(g);f(n(b.type,c));delete a[k]};g.onerror=function(){g.parentNode.removeChild(g);h(Error("JSONP request failed"));delete a[k]};null==b.data&&(b.data={});b.url=c(b.url,b.data);b.data[b.callbackKey||
|
||||
"callback"]=k;g.src=d(b.url,b.data);a.document.documentElement.appendChild(g)});return!1===b.redraw?h:k(h)},setCompletionCallback:function(a){r=a}}}(window,"undefined"!==typeof Promise?Promise:x),N=function(a){function f(e,l,a,b,c,d,f){for(;a<b;a++){var p=l[a];null!=p&&m(e,g(p,c,f),d)}}function g(e,l,a){var b=e.tag;null!=e.attrs&&x(e.attrs,e,l);if("string"===typeof b)switch(b){case "#":return e.dom=B.createTextNode(e.children);case "<":return c(e);case "[":var p=B.createDocumentFragment();null!=e.children&&
|
||||
(b=e.children,f(p,b,0,b.length,l,null,a));e.dom=p.firstChild;e.domSize=p.childNodes.length;return p;default:var d=e.tag;switch(e.tag){case "svg":a="http://www.w3.org/2000/svg";break;case "math":a="http://www.w3.org/1998/Math/MathML"}var k=(b=e.attrs)&&b.is,d=a?k?B.createElementNS(a,d,{is:k}):B.createElementNS(a,d):k?B.createElement(d,{is:k}):B.createElement(d);e.dom=d;if(null!=b)for(p in k=a,b)y(e,p,null,b[p],k);null!=e.attrs&&null!=e.attrs.contenteditable?r(e):(null!=e.text&&(""!==e.text?d.textContent=
|
||||
e.text:e.children=[v("#",void 0,void 0,e.text,void 0,void 0)]),null!=e.children&&(p=e.children,f(d,p,0,p.length,l,null,a),l=e.attrs,"select"===e.tag&&null!=l&&("value"in l&&y(e,"value",null,l.value,void 0),"selectedIndex"in l&&y(e,"selectedIndex",null,l.selectedIndex,void 0))));return d}else{e.state||(e.state={});D(e.state,e.tag);p=e.tag.view;if(null!=p.reentrantLock)e=G;else if(p.reentrantLock=!0,x(e.tag,e,l),e.instance=v.normalize(p.call(e.state,e)),p.reentrantLock=null,null!=e.instance){if(e.instance===
|
||||
e)throw Error("A view cannot return the vnode it received as arguments");l=g(e.instance,l,a);e.dom=e.instance.dom;e.domSize=null!=e.dom?e.instance.domSize:0;e=l}else e.domSize=0,e=G;return e}}function c(e){var l={caption:"table",thead:"table",tbody:"table",tfoot:"table",tr:"tbody",th:"tr",td:"tr",colgroup:"table",col:"colgroup"}[(e.children.match(/^\s*?<(\w+)/im)||[])[1]]||"div",l=B.createElement(l);l.innerHTML=e.children;e.dom=l.firstChild;e.domSize=l.childNodes.length;e=B.createDocumentFragment();
|
||||
for(var a;a=l.firstChild;)e.appendChild(a);return e}function d(e,l,a,c,d,k){if(l!==a&&(null!=l||null!=a))if(null==l)f(e,a,0,a.length,c,d,void 0);else if(null==a)b(l,0,l.length,a);else{for(var p=!1,u=0;u<a.length;u++)if(null!=a[u]){p=null==a[u].key;break}if(l.length===a.length&&p)for(u=0;u<l.length;u++)l[u]!==a[u]&&(null==l[u]?m(e,g(a[u],c,k),n(l,u+1,d)):null==a[u]?b(l,u,u+1,a):h(e,l[u],a[u],c,n(l,u+1,d),!1,k));else{a:{if(null!=l.pool&&Math.abs(l.pool.length-a.length)<=Math.abs(l.length-a.length)&&
|
||||
(p=a[0]&&a[0].children&&a[0].children.length||0,Math.abs((l.pool[0]&&l.pool[0].children&&l.pool[0].children.length||0)-p)<=Math.abs((l[0]&&l[0].children&&l[0].children.length||0)-p))){p=!0;break a}p=!1}p&&(l=l.concat(l.pool));for(var z=u=0,t=l.length-1,y=a.length-1,E;t>=u&&y>=z;){var w=l[u],r=a[z];if(w!==r||p)if(null==w)u++;else if(null==r)z++;else if(w.key===r.key)u++,z++,h(e,w,r,c,n(l,u,d),p,k),p&&w.tag===r.tag&&m(e,q(w),d);else if(w=l[t],w!==r||p)if(null==w)t--;else if(null==r)z++;else if(w.key===
|
||||
r.key)h(e,w,r,c,n(l,t+1,d),p,k),(p||z<y)&&m(e,q(w),n(l,u,d)),t--,z++;else break;else t--,z++;else u++,z++}for(;t>=u&&y>=z;){w=l[t];r=a[y];if(w!==r||p)if(null==w)t--;else{if(null!=r)if(w.key===r.key)h(e,w,r,c,n(l,t+1,d),p,k),p&&w.tag===r.tag&&m(e,q(w),d),null!=w.dom&&(d=w.dom),t--;else{if(!E){E=l;var w=t,v={},C;for(C=0;C<w;C++){var x=E[C];null!=x&&(x=x.key,null!=x&&(v[x]=C))}E=v}null!=r&&(w=E[r.key],null!=w?(v=l[w],h(e,v,r,c,n(l,t+1,d),p,k),m(e,q(v),d),l[w].skip=!0,null!=v.dom&&(d=v.dom)):(r=g(r,c,
|
||||
void 0),m(e,r,d),d=r))}y--}else t--,y--;if(y<z)break}f(e,a,z,y+1,c,d,k);b(l,u,t+1,a)}}}function h(e,a,b,f,k,z,t){var l=a.tag;if(l===b.tag){b.state=a.state;b.events=a.events;var p;var u;null!=b.attrs&&"function"===typeof b.attrs.onbeforeupdate&&(p=b.attrs.onbeforeupdate.call(b.state,b,a));"string"!==typeof b.tag&&"function"===typeof b.tag.onbeforeupdate&&(u=b.tag.onbeforeupdate.call(b.state,b,a));void 0===p&&void 0===u||p||u?p=!1:(b.dom=a.dom,b.domSize=a.domSize,b.instance=a.instance,p=!0);if(!p)if(null!=
|
||||
b.attrs&&A(b.attrs,b,f,z),"string"===typeof l)switch(l){case "#":a.children.toString()!==b.children.toString()&&(a.dom.nodeValue=b.children);b.dom=a.dom;break;case "<":a.children!==b.children?(q(a),m(e,c(b),k)):(b.dom=a.dom,b.domSize=a.domSize);break;case "[":d(e,a.children,b.children,f,k,t);a=0;f=b.children;b.dom=null;if(null!=f){for(var n=0;n<f.length;n++)e=f[n],null!=e&&null!=e.dom&&(null==b.dom&&(b.dom=e.dom),a+=e.domSize||1);1!==a&&(b.domSize=a)}break;default:e=t;k=b.dom=a.dom;switch(b.tag){case "svg":e=
|
||||
"http://www.w3.org/2000/svg";break;case "math":e="http://www.w3.org/1998/Math/MathML"}"textarea"===b.tag&&(null==b.attrs&&(b.attrs={}),null!=b.text&&(b.attrs.value=b.text,b.text=void 0));z=a.attrs;t=b.attrs;l=e;if(null!=t)for(n in t)y(b,n,z&&z[n],t[n],l);if(null!=z)for(n in z)null!=t&&n in t||("className"===n&&(n="class"),"o"!==n[0]||"n"!==n[1]||M(n)?"key"!==n&&b.dom.removeAttribute(n):F(b,n,void 0));null!=b.attrs&&null!=b.attrs.contenteditable?r(b):null!=a.text&&null!=b.text&&""!==b.text?a.text.toString()!==
|
||||
b.text.toString()&&(a.dom.firstChild.nodeValue=b.text):(null!=a.text&&(a.children=[v("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=b.text&&(b.children=[v("#",void 0,void 0,b.text,void 0,void 0)]),d(k,a.children,b.children,f,null,e))}else b.instance=v.normalize(b.tag.view.call(b.state,b)),A(b.tag,b,f,z),null!=b.instance?(null==a.instance?m(e,g(b.instance,f,t),k):h(e,a.instance,b.instance,f,k,z,t),b.dom=b.instance.dom,b.domSize=b.instance.domSize):null!=a.instance?(C(a.instance,null),b.dom=
|
||||
void 0,b.domSize=0):(b.dom=a.dom,b.domSize=a.domSize)}else C(a,null),m(e,g(b,f,t),k)}function q(a){var b=a.domSize;if(null!=b||null==a.dom){var e=B.createDocumentFragment();if(0<b){for(a=a.dom;--b;)e.appendChild(a.nextSibling);e.insertBefore(a,e.firstChild)}return e}return a.dom}function n(a,b,c){for(;b<a.length;b++)if(null!=a[b]&&null!=a[b].dom)return a[b].dom;return c}function m(a,b,c){c&&c.parentNode?a.insertBefore(b,c):a.appendChild(b)}function r(a){var b=a.children;if(null!=b&&1===b.length&&
|
||||
"<"===b[0].tag)b=b[0].children,a.dom.innerHTML!==b&&(a.dom.innerHTML=b);else if(null!=a.text||null!=b&&0!==b.length)throw Error("Child node of a contenteditable must be trusted");}function b(a,b,c,d){for(;b<c;b++){var e=a[b];null!=e&&(e.skip?e.skip=!1:C(e,d))}}function k(b){var a=!1;return function(){a||(a=!0,b())}}function C(a,b){function e(){if(++d===c&&(t(a),a.dom)){var e=a.domSize||1;if(1<e)for(var l=a.dom;--e;){var f=l.nextSibling,k=f.parentNode;null!=k&&k.removeChild(f)}e=a.dom;l=e.parentNode;
|
||||
null!=l&&l.removeChild(e);if(e=null!=b&&null==a.domSize)e=a.attrs,e=!(null!=e&&(e.oncreate||e.onupdate||e.onbeforeremove||e.onremove));e&&"string"===typeof a.tag&&(b.pool?b.pool.push(a):b.pool=[a])}}var c=1,d=0;a.attrs&&a.attrs.onbeforeremove&&(c++,a.attrs.onbeforeremove.call(a.state,a,k(e)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(c++,a.tag.onbeforeremove.call(a.state,a,k(e)));e()}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);if(null!=a.instance)t(a.instance);else if(a=a.children,a instanceof Array)for(var b=0;b<a.length;b++){var e=a[b];null!=e&&t(e)}}function y(a,b,c,d,f){var e=a.dom;if("key"!==b&&(c!==d||"value"===b||"checked"===b||"selectedIndex"===b||"selected"===b&&a.dom===B.activeElement||"object"===typeof d)&&"undefined"!==typeof d&&!M(b)){var l=b.indexOf(":");if(-1<l&&"xlink"===b.substr(0,l))e.setAttributeNS("http://www.w3.org/1999/xlink",b.slice(l+1),d);else if("o"===b[0]&&"n"===
|
||||
b[1]&&"function"===typeof d)F(a,b,d);else if("style"===b)if(a=c,a===d&&(e.style.cssText="",a=null),null==d)e.style.cssText="";else if("string"===typeof d)e.style.cssText=d;else{"string"===typeof a&&(e.style.cssText="");for(var k in d)e.style[k]=d[k];if(null!=a&&"string"!==typeof a)for(k in a)k in d||(e.style[k]="")}else b in e&&"href"!==b&&"list"!==b&&"form"!==b&&"width"!==b&&"height"!==b&&void 0===f?"input"===a.tag&&"value"===b&&a.dom.value===d&&a.dom===B.activeElement||"select"===a.tag&&"value"===
|
||||
b&&a.dom.value===d&&a.dom===B.activeElement||"option"===a.tag&&"value"===b&&a.dom.value===d||(e[b]=d):"boolean"===typeof d?d?e.setAttribute(b,""):e.removeAttribute(b):e.setAttribute("className"===b?"class":b,d)}}function M(a){return"oninit"===a||"oncreate"===a||"onupdate"===a||"onremove"===a||"onbeforeremove"===a||"onbeforeupdate"===a}function F(a,b,d){var e=a.dom,c=function(a){var b=d.call(e,a);"function"===typeof K&&K.call(e,a);return b};if(b in e)e[b]="function"===typeof d?c:null;else{var f=b.slice(2);
|
||||
void 0===a.events&&(a.events={});null!=a.events[b]&&e.removeEventListener(f,a.events[b],!1);"function"===typeof d&&(a.events[b]=c,e.addEventListener(f,a.events[b],!1))}}function x(a,b,d){"function"===typeof a.oninit&&a.oninit.call(b.state,b);"function"===typeof a.oncreate&&d.push(a.oncreate.bind(b.state,b))}function A(a,b,d,c){c?x(a,b,d):"function"===typeof a.onupdate&&d.push(a.onupdate.bind(b.state,b))}function D(a,b){Object.keys(b).forEach(function(d){a[d]=b[d]})}var B=a.document,G=B.createDocumentFragment(),
|
||||
K;return{render:function(a,b){if(!a)throw Error("Ensure the DOM element being passed to m.route/m.mount/m.render is not undefined.");var c=[],e=B.activeElement;null==a.vnodes&&(a.textContent="");b instanceof Array||(b=[b]);d(a,a.vnodes,v.normalizeChildren(b),c,null,void 0);a.vnodes=b;for(var f=0;f<c.length;f++)c[f]();B.activeElement!==e&&e.focus()},setEventCallback:function(a){return K=a}}},H=function(a){function f(a){a=c.indexOf(a);-1<a&&c.splice(a,2)}function g(){for(var a=1;a<c.length;a+=2)c[a]()}
|
||||
a=N(a);a.setEventCallback(function(a){!1!==a.redraw&&g()});var c=[];return{subscribe:function(a,g){f(a);c.push(a,g)},unsubscribe:f,redraw:g,render:a.render}}(window);J.setCompletionCallback(H.redraw);A.mount=function(a){function f(a){var c=0,d=null,f="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(){var g=Date.now();0===c||16<=g-c?(c=g,a()):null===d&&(d=f(function(){d=null;a();c=Date.now()},16-(g-c)))}}return function(g,c){if(null===c)a.render(g,[]),a.unsubscribe(g);
|
||||
else{if(null==c.view)throw Error("m.mount(element, component) expects a component, not a vnode");var d=f(function(){a.render(g,v(c))});a.subscribe(g,d);d()}}}(H);var L=function(a){if(""===a||null==a)return{};"?"===a.charAt(0)&&(a=a.slice(1));a=a.split("&");for(var f={},g={},c=0;c<a.length;c++){var d=a[c].split("="),h=decodeURIComponent(d[0]),d=2===d.length?decodeURIComponent(d[1]):"";"true"===d?d=!0:"false"===d&&(d=!1);var q=h.split(/\]\[?|\[/),n=f;-1<h.indexOf("[")&&q.pop();for(var m=0;m<q.length;m++){var h=
|
||||
q[m],r=q[m+1],r=""==r||!isNaN(parseInt(r,10)),b=m===q.length-1;""===h&&(h=q.slice(0,m).join(),null==g[h]&&(g[h]=0),h=g[h]++);null==n[h]&&(n[h]=b?d:r?[]:{});n=n[h]}}return f},P=function(a){function f(b){var c=a.location[b].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===b&&"/"!==c[0]&&(c="/"+c);return c}function g(a){return function(b){null==r&&(r=n(function(){r=null;a(b)}))}}function c(a,c,d){var b=a.indexOf("?"),f=a.indexOf("#"),k=-1<b?b:-1<f?f:a.length;if(-1<b){var b=L(a.slice(b+
|
||||
1,-1<f?f:a.length)),g;for(g in b)c[g]=b[g]}if(-1<f)for(g in c=L(a.slice(f+1)),c)d[g]=c[g];return a.slice(0,k)}function d(){switch(m.charAt(0)){case "#":return f("hash").slice(m.length);case "?":return f("search").slice(m.length)+f("hash");default:return f("pathname").slice(m.length)+f("search")+f("hash")}}function h(b,d,f){var k={},g={};b=c(b,k,g);if(null!=d){for(var h in d)k[h]=d[h];b=b.replace(/:([^\/]+)/g,function(a,b){delete k[b];return d[b]})}(h=D(k))&&(b+="?"+h);(g=D(g))&&(b+="#"+g);q?(f&&f.replace?
|
||||
a.history.replaceState(null,null,m+b):a.history.pushState(null,null,m+b),a.onpopstate(!0)):a.location.href=m+b}var q="function"===typeof a.history.pushState,n="function"===typeof setImmediate?setImmediate:setTimeout,m="#!",r;return{setPrefix:function(a){m=a},getPath:d,setPath:h,defineRoutes:function(b,f,h){function k(a){var k=d(),g={},m=c(k,g,g),n;for(n in b){var q=new RegExp("^"+n.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(q.test(m)){m.replace(q,function(){for(var c=
|
||||
n.match(/:[^\/]+/g)||[],d=[].slice.call(arguments,1,-2),h=0;h<c.length;h++)g[c[h].replace(/:|\./g,"")]=decodeURIComponent(d[h]);f(b[n],g,k,n,!!a)});return}}h(k,g)}q?a.onpopstate=g(k):"#"===m.charAt(0)&&(a.onhashchange=k);k(!0);return function(){k(!1)}},link:function(a){a.dom.setAttribute("href",m+a.attrs.href);a.dom.onclick=function(a){a.ctrlKey||a.metaKey||a.shiftKey||2===a.which||(a.preventDefault(),a.redraw=!1,a=this.getAttribute("href"),0===a.indexOf(m)&&(a=a.slice(m.length)),h(a,void 0,void 0))}}}};
|
||||
A.route=function(a,f){var g=P(a),c=function(a){return a},d={render:c,component:null,path:null,resolve:null},h=function(a,h,m){if(null==a)throw Error("Ensure the DOM element that was passed to `m.route` is not undefined");var n=function(b,g,h,m){d.render=b.render||c;d.component=g;d.path=m;d.resolve=null;f.render(a,d.render(v(g,void 0,h)))};m=g.defineRoutes(m,function(a,c,f,g,h){a.view?n({},a,c,f):a.onmatch?!1===h&&d.path===f||null!=d.resolve?n(d,d.component,c):(d.resolve=function(b){n(a,b,c,f)},a.onmatch(function(a){d.path!==
|
||||
f&&null!=d.resolve&&d.resolve(a)},c,f)):n(a,"div",c,f)},function(){g.setPath(h)});f.subscribe(a,m)};h.set=g.setPath;h.get=function(){return d.path};h.prefix=g.setPrefix;h.link=g.link;return h}(window,H);A.withAttr=function(a,f,g){return function(c){return f.call(g||this,a in c.currentTarget?c.currentTarget[a]:c.currentTarget.getAttribute(a))}};var Q=N(window);A.render=Q.render;A.redraw=H.redraw;A.request=J.request;A.jsonp=J.jsonp;A.parseQueryString=L;A.buildQueryString=D;A.version="1.0.0-rc.6";"undefined"!==
|
||||
typeof module?module.exports=A:window.m=A};
|
||||
Loading…
Add table
Add a link
Reference in a new issue