Bundled output for commit 3761226c2c [skip ci]
This commit is contained in:
parent
3761226c2c
commit
29ee36e967
2 changed files with 78 additions and 70 deletions
66
mithril.js
66
mithril.js
|
|
@ -264,7 +264,7 @@ var renderService = function($window) {
|
|||
else updateComponent(parent, old, vnode, hooks, nextSibling, recycling, ns)
|
||||
}
|
||||
else {
|
||||
removeNode(parent, old, null, false)
|
||||
removeNode(parent, old, null)
|
||||
insertNode(parent, createNode(vnode, hooks, undefined), nextSibling)
|
||||
}
|
||||
}
|
||||
|
|
@ -326,7 +326,7 @@ var renderService = function($window) {
|
|||
vnode.domSize = vnode.instance.domSize
|
||||
}
|
||||
else if (old.instance != null) {
|
||||
removeNode(parent, old.instance, null, false)
|
||||
removeNode(parent, old.instance, null)
|
||||
vnode.dom = undefined
|
||||
vnode.domSize = 0
|
||||
}
|
||||
|
|
@ -386,40 +386,48 @@ var renderService = function($window) {
|
|||
var vnode = vnodes[i]
|
||||
if (vnode != null) {
|
||||
if (vnode.skip) vnode.skip = false
|
||||
else removeNode(parent, vnode, context, false)
|
||||
else removeNode(parent, vnode, context)
|
||||
}
|
||||
}
|
||||
}
|
||||
function removeNode(parent, vnode, context, deferred) {
|
||||
if (deferred === false) {
|
||||
var expected = 0, called = 0
|
||||
var callback = function() {
|
||||
if (++called === expected) removeNode(parent, vnode, context, true)
|
||||
function once(f) {
|
||||
var called = false
|
||||
return function() {
|
||||
if (!called) {
|
||||
called = true
|
||||
f()
|
||||
}
|
||||
if (vnode.attrs && vnode.attrs.onbeforeremove) {
|
||||
expected++
|
||||
vnode.attrs.onbeforeremove.call(vnode.state, vnode, callback)
|
||||
}
|
||||
if (typeof vnode.tag !== "string" && vnode.tag.onbeforeremove) {
|
||||
expected++
|
||||
vnode.tag.onbeforeremove.call(vnode.state, vnode, callback)
|
||||
}
|
||||
if (expected > 0) return
|
||||
}
|
||||
onremove(vnode)
|
||||
if (vnode.dom) {
|
||||
var count = vnode.domSize || 1
|
||||
if (count > 1) {
|
||||
var dom = vnode.dom
|
||||
while (--count) {
|
||||
parent.removeChild(dom.nextSibling)
|
||||
}
|
||||
function removeNode(parent, vnode, context) {
|
||||
var expected = 1, called = 0
|
||||
if (vnode.attrs && vnode.attrs.onbeforeremove) {
|
||||
expected++
|
||||
vnode.attrs.onbeforeremove.call(vnode.state, vnode, once(continuation))
|
||||
}
|
||||
if (typeof vnode.tag !== "string" && vnode.tag.onbeforeremove) {
|
||||
expected++
|
||||
vnode.tag.onbeforeremove.call(vnode.state, vnode, once(continuation))
|
||||
}
|
||||
continuation()
|
||||
function continuation() {
|
||||
if (++called === expected) {
|
||||
onremove(vnode)
|
||||
if (vnode.dom) {
|
||||
var count = vnode.domSize || 1
|
||||
if (count > 1) {
|
||||
var dom = vnode.dom
|
||||
while (--count) {
|
||||
parent.removeChild(dom.nextSibling)
|
||||
}
|
||||
}
|
||||
if (vnode.dom.parentNode != null) parent.removeChild(vnode.dom)
|
||||
if (context != null && vnode.domSize == null && !hasIntegrationMethods(vnode.attrs) && typeof vnode.tag === "string") { //TODO test custom elements
|
||||
if (!context.pool) context.pool = [vnode]
|
||||
else context.pool.push(vnode)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (vnode.dom.parentNode != null) parent.removeChild(vnode.dom)
|
||||
if (context != null && vnode.domSize == null && !hasIntegrationMethods(vnode.attrs) && typeof vnode.tag === "string") { //TODO test custom elements
|
||||
if (!context.pool) context.pool = [vnode]
|
||||
else context.pool.push(vnode)
|
||||
}
|
||||
}
|
||||
}
|
||||
function onremove(vnode) {
|
||||
|
|
|
|||
82
mithril.min.js
vendored
82
mithril.min.js
vendored
|
|
@ -1,41 +1,41 @@
|
|||
new function(){function w(b,d,p,g,k,n){return{tag:b,key:d,attrs:p,children:g,text:k,dom:n,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}w.normalize=function(b){return b instanceof Array?w("[",void 0,void 0,w.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?w("#",void 0,void 0,b,void 0,void 0):b};w.normalizeChildren=function(b){for(var d=0;d<b.length;d++)b[d]=w.normalize(b[d]);return b};var P=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,
|
||||
G={},A=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 d,p,g=[],k={};d=P.exec(b);){var n=d[1],m=d[2];""===n&&""!==m?p=m:"#"===n?k.id=m:"."===n?g.push(m):"["===d[3][0]&&((n=d[6])&&(n=n.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),k[d[4]]=n||!0)}0<g.length&&(k.className=g.join(" "));G[b]=function(b,d){var f=!1,g,n,l=b.className||b["class"],m;for(m in k)b[m]=k[m];void 0!==
|
||||
l&&(void 0!==b["class"]&&(b["class"]=void 0,b.className=l),void 0!==k.className&&(b.className=k.className+" "+l));for(m in b)if("key"!==m){f=!0;break}d instanceof Array&&1==d.length&&null!=d[0]&&"#"===d[0].tag?n=d[0].children:g=d;return w(p||"div",b.key,f?b:void 0,g,n,void 0)}}var t;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||arguments[1]instanceof Array)?g=1:(t=arguments[1],g=2);if(arguments.length===g+1)d=arguments[g]instanceof Array?arguments[g]:[arguments[g]];
|
||||
else for(d=[];g<arguments.length;g++)d.push(arguments[g]);return"string"===typeof b?G[b](t||{},w.normalizeChildren(d)):w(b,t&&t.key,t||{},w.normalizeChildren(d),void 0,void 0)},I=function(b){function d(c,a,e,f,b,d,r){for(;e<f;e++){var q=a[e];null!=q&&x(c,p(q,b,r),d)}}function p(c,a,e){var f=c.tag;null!=c.attrs&&J(c.attrs,c,a);if("string"===typeof f)switch(f){case "#":return c.dom=z.createTextNode(c.children);case "<":return g(c);case "[":var b=z.createDocumentFragment();null!=c.children&&(f=c.children,
|
||||
d(b,f,0,f.length,a,null,e));c.dom=b.firstChild;c.domSize=b.childNodes.length;return b;default:var l=c.tag;switch(c.tag){case "svg":e="http://www.w3.org/2000/svg";break;case "math":e="http://www.w3.org/1998/Math/MathML"}var r=(f=c.attrs)&&f.is,l=e?r?z.createElementNS(e,l,{is:r}):z.createElementNS(e,l):r?z.createElement(l,{is:r}):z.createElement(l);c.dom=l;if(null!=f)for(b in r=e,f)h(c,b,null,f[b],r);null!=c.text&&(""!==c.text?l.textContent=c.text:c.children=[w("#",void 0,void 0,c.text,void 0,void 0)]);
|
||||
null!=c.children&&(b=c.children,d(l,b,0,b.length,a,null,e),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&h(c,"value",null,a.value,void 0),"selectedIndex"in a&&h(c,"selectedIndex",null,a.selectedIndex,void 0)));return l}else return c.state||(c.state={}),K(c.state,c.tag),J(c.tag,c,a),c.instance=w.normalize(c.tag.view.call(c.state,c)),null!=c.instance?(a=p(c.instance,a,e),c.dom=c.instance.dom,c.domSize=null!=c.dom?c.instance.domSize:0,c=a):(c.domSize=0,c=D),c}function g(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=z.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=z.createDocumentFragment();for(var e;e=a.firstChild;)c.appendChild(e);return c}function k(c,a,e,f,b,l){if(a!==e&&(null!=a||null!=e))if(null==a)d(c,e,0,e.length,f,b,void 0);else if(null==e)u(c,a,0,a.length,e);else{var r;a:{if(null!=a.pool&&Math.abs(a.pool.length-
|
||||
e.length)<=Math.abs(a.length-e.length)&&(r=e[0]&&e[0].children&&e[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-r)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-r))){r=!0;break a}r=!1}r&&(a=a.concat(a.pool));if(a.length===e.length&&null!=e[0]&&null==e[0].key)for(var q=0;q<a.length;q++)a[q]===e[q]||null==a[q]&&null==e[q]||(null==a[q]?x(c,p(e[q],f,l),t(a,q+1,b)):null==e[q]?u(c,a,q,q+1,e):n(c,a[q],e[q],f,t(a,q+1,b),r,l),r&&a[q].tag===e[q].tag&&
|
||||
x(c,m(a[q]),t(a,q+1,b)));else{for(var B=q=0,g=a.length-1,y=e.length-1,k;g>=q&&y>=B;){var h=a[q],v=e[B];if(h===v)q++,B++;else if(null!=h&&null!=v&&h.key===v.key)q++,B++,n(c,h,v,f,t(a,q,b),r,l),r&&h.tag===v.tag&&x(c,m(h),b);else if(h=a[g],h===v)g--,B++;else if(null!=h&&null!=v&&h.key===v.key)n(c,h,v,f,t(a,g+1,b),r,l),B<y&&x(c,m(h),t(a,q,b)),g--,B++;else break}for(;g>=q&&y>=B;){h=a[g];v=e[y];if(h===v)g--;else if(null!=h&&null!=v&&h.key===v.key)n(c,h,v,f,t(a,g+1,b),r,l),r&&h.tag===v.tag&&x(c,m(h),b),
|
||||
null!=h.dom&&(b=h.dom),g--;else{if(!k){k=a;var h=g,z={},w;for(w=0;w<h;w++){var C=k[w];null!=C&&(C=C.key,null!=C&&(z[C]=w))}k=z}null!=v&&(h=k[v.key],null!=h?(z=a[h],n(c,z,v,f,t(a,g+1,b),r,l),x(c,m(z),b),a[h].skip=!0,null!=z.dom&&(b=z.dom)):(v=p(v,f,void 0),x(c,v,b),b=v))}y--;if(y<B)break}d(c,e,B,y+1,f,b,l);u(c,a,q,g+1,e)}}}function n(c,a,e,b,d,y,r){var q=a.tag;if(q===e.tag){e.state=a.state;e.events=a.events;var B;var v;null!=e.attrs&&"function"===typeof e.attrs.onbeforeupdate&&(B=e.attrs.onbeforeupdate.call(e.state,
|
||||
e,a));"string"!==typeof e.tag&&"function"===typeof e.tag.onbeforeupdate&&(v=e.tag.onbeforeupdate.call(e.state,e,a));void 0===B&&void 0===v||B||v?B=!1:(e.dom=a.dom,e.domSize=a.domSize,e.instance=a.instance,B=!0);if(!B)if(null!=e.attrs&&A(e.attrs,e,b,y),"string"===typeof q)switch(q){case "#":a.children.toString()!==e.children.toString()&&(a.dom.nodeValue=e.children);e.dom=a.dom;break;case "<":a.children!==e.children?(m(a),x(c,g(e),d)):(e.dom=a.dom,e.domSize=a.domSize);break;case "[":k(c,a.children,
|
||||
e.children,b,d,r);a=0;b=e.children;e.dom=null;if(null!=b){for(var u=0;u<b.length;u++)c=b[u],null!=c&&null!=c.dom&&(null==e.dom&&(e.dom=c.dom),a+=c.domSize||1);1!==a&&(e.domSize=a)}break;default:c=r;d=e.dom=a.dom;switch(e.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===e.tag&&(null==e.attrs&&(e.attrs={}),null!=e.text&&(e.attrs.value=e.text));y=a.attrs;r=e.attrs;q=c;if(null!=r)for(u in r)h(e,u,y&&y[u],r[u],q);if(null!=y)for(u in y)null!=
|
||||
r&&u in r||("o"!==u[0]||"n"!==u[1]||l(u)?"key"!==u&&e.dom.removeAttribute(u):C(e,u,void 0));null!=a.text&&null!=e.text&&""!==e.text?a.text.toString()!==e.text.toString()&&(a.dom.firstChild.nodeValue=e.text):(null!=a.text&&(a.children=[w("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=e.text&&(e.children=[w("#",void 0,void 0,e.text,void 0,void 0)]),k(d,a.children,e.children,b,null,c))}else e.instance=w.normalize(e.tag.view.call(e.state,e)),A(e.tag,e,b,y),null!=e.instance?(null==a.instance?
|
||||
x(c,p(e.instance,b,r),d):n(c,a.instance,e.instance,b,d,y,r),e.dom=e.instance.dom,e.domSize=e.instance.domSize):null!=a.instance?(f(c,a.instance,null,!1),e.dom=void 0,e.domSize=0):(e.dom=a.dom,e.domSize=a.domSize)}else f(c,a,null,!1),x(c,p(e,b,void 0),d)}function m(c){var a=c.domSize;if(null!=a||null==c.dom){var e=z.createDocumentFragment();if(0<a){for(c=c.dom;--a;)e.appendChild(c.nextSibling);e.insertBefore(c,e.firstChild)}return e}return c.dom}function t(c,a,e){for(;a<c.length;a++)if(null!=c[a]&&
|
||||
null!=c[a].dom)return c[a].dom;return e}function x(c,a,e){e&&e.parentNode?c.insertBefore(a,e):c.appendChild(a)}function u(c,a,e,b,d){for(;e<b;e++){var h=a[e];null!=h&&(h.skip?h.skip=!1:f(c,h,d,!1))}}function f(c,a,e,b){if(!1===b){var d=0,h=0;b=function(){++h===d&&f(c,a,e,!0)};a.attrs&&a.attrs.onbeforeremove&&(d++,a.attrs.onbeforeremove.call(a.state,a,b));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(d++,a.tag.onbeforeremove.call(a.state,a,b));if(0<d)return}y(a);if(a.dom){b=a.domSize||1;if(1<b)for(var r=
|
||||
a.dom;--b;)c.removeChild(r.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);null==e||null!=a.domSize||v(a.attrs)||"string"!==typeof a.tag||(e.pool?e.pool.push(a):e.pool=[a])}}function y(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)y(c.instance);else if(c=c.children,c instanceof Array)for(var a=0;a<c.length;a++){var e=c[a];null!=e&&y(e)}}function h(c,a,e,b,f){var d=c.dom;if("key"!==
|
||||
a&&(e!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===z.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!l(a)){var r=a.indexOf(":");if(-1<r&&"xlink"===a.substr(0,r))d.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(r+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)C(c,a,b);else if("style"===a)if(c=e,c===b&&(d.style.cssText="",c=null),null==b)d.style.cssText="";else if("string"===typeof b)d.style.cssText=b;else{"string"===typeof c&&(d.style.cssText=
|
||||
"");for(var q in b)d.style[q]=b[q];if(null!=c&&"string"!==typeof c)for(q in c)q in b||(d.style[q]="")}else if(a in d&&"href"!==a&&"list"!==a&&"form"!==a&&void 0===f){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==z.activeElement)d[a]=b}else"boolean"===typeof b?b?d.setAttribute(a,""):d.removeAttribute(a):d.setAttribute("className"===a?"class":a,b)}}function l(c){return"oninit"===c||"oncreate"===c||"onupdate"===c||"onremove"===c||"onbeforeremove"===c||"onbeforeupdate"===c}function v(c){return null!=
|
||||
c&&(c.oncreate||c.onupdate||c.onbeforeremove||c.onremove)}function C(c,a,b){var f=c.dom,d=function(a){var c=b.call(f,a);"function"===typeof H&&H.call(f,a);return c};if(a in f)f[a]=d;else{var h=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&f.removeEventListener(h,c.events[a],!1);"function"===typeof b&&(c.events[a]=d,f.addEventListener(h,c.events[a],!1))}}function J(c,a,b){"function"===typeof c.oninit&&c.oninit.call(a.state,a);"function"===typeof c.oncreate&&b.push(c.oncreate.bind(a.state,
|
||||
a))}function A(c,a,b,f){f?J(c,a,b):"function"===typeof c.onupdate&&b.push(c.onupdate.bind(a.state,a))}function K(c,a){Object.keys(a).forEach(function(b){c[b]=a[b]})}var z=b.document,D=z.createDocumentFragment(),H;return{render:function(c,a){var b=[],f=z.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);k(c,c.vnodes,w.normalizeChildren(a),b,null,void 0);c.vnodes=a;for(var d=0;d<b.length;d++)b[d]();z.activeElement!==f&&f.focus()},setEventCallback:function(c){return H=c}}}(window),
|
||||
F=function(b){function d(b,g){if(g instanceof Array)for(var m=0;m<g.length;m++)d(b+"["+m+"]",g[m]);else if("[object Object]"===Object.prototype.toString.call(g))for(m in g)d(b+"["+m+"]",g[m]);else p.push(encodeURIComponent(b)+(null!=g&&""!==g?"="+encodeURIComponent(g):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var p=[],g;for(g in b)d(g,b[g]);return p.join("&")},M=function(b){function d(){function a(){0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);return a._state.value}
|
||||
p(a,arguments);0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);return a}function p(a,c){a.constructor=d;a._state={id:I++,value:void 0,error:void 0,state:0,derive:void 0,recover:void 0,deps:{},parents:[],errorStream:void 0,endStream:void 0};a.map=D;a.ap=K;a.of=d;a.valueOf=z;a.toJSON=G;a.toString=z;a.run=f;a["catch"]=y;Object.defineProperties(a,{error:{get:function(){if(!a._state.errorStream){var c=function(){0<arguments.length&&arguments[0]!==E&&g(a,void 0,arguments[0]);return a._state.error};
|
||||
p(c,[]);v(c,[a],F,F);a._state.errorStream=c}return a._state.errorStream}},end:{get:function(){if(!a._state.endStream){var c=d();c.map(function(b){!0===b&&(A(a),A(c));return b});a._state.endStream=c}return a._state.endStream}}})}function g(a,c,b){k(a,c,b);for(var e in a._state.deps)m(a._state.deps[e],!1);a._state.changed=!1;for(var f in a._state.deps)a._state.deps[f]._state.changed=!1}function k(a,c,b){b=x(c,b);if(void 0!==b&&"function"===typeof a._state.recover){if(!t(a,n,!0))return}else n(a,c,b);
|
||||
a._state.changed=!0;2!==a._state.state&&(a._state.state=1)}function n(a,c,b){a._state.value=c;a._state.error=b}function m(a,b){var f=a._state.parents;0<f.length&&f.filter(H).length===f.length&&(b||0<f.filter(c).length)&&(f=f.filter(e),0<f.length?k(a,void 0,f[0]._state.error):t(a,k,!1))}function t(a,c,b){try{var f=b?a._state.recover():a._state.derive();if(f===E)return!1;c(a,f,void 0)}catch(e){c(a,void 0,null!=e.__error?e.__error:e),null==e.__error&&u(a,e)}return!0}function x(a,c){null!=a&&a.constructor===
|
||||
d&&(c=void 0!==a._state.error?a._state.error:x(a._state.value,a._state.error));return c}function u(a,c){0===Object.keys(a._state.deps).length&&setTimeout(function(){0===Object.keys(a._state.deps).length&&b(c)},0)}function f(a){var c=d(),b=this;return v(c,[b],function(){return l(c,a(b()))},void 0)}function y(a){var c=d(),b=this;return v(c,[b],function(){return b._state.value},function(){return l(c,a(b._state.error))})}function h(a,b){return v(d(),b,function(){var f=b.filter(e);if(0<f.length)throw{__error:f[0]._state.error};
|
||||
return a.apply(this,b.concat([b.filter(c)]))},void 0)}function l(a,c){if(null!=c&&c.constructor===d){var b=c,f=function(){k(a,b._state.value,b._state.error);for(var c in a._state.deps)m(a._state.deps[c],!1)};b.map(f)["catch"](function(a){f();throw{__error:a};});if(0===b._state.state)return E;if(b._state.error)throw{__error:b._state.error};c=b._state.value}return c}function v(c,b,f,e){var d=c._state;d.derive=f;d.recover=e;d.parents=b.filter(a);w(c,d.parents);m(c,!0);return c}function w(a,c){for(var b=
|
||||
0;b<c.length;b++)c[b]._state.deps[a._state.id]=a,w(a,c[b]._state.parents)}function A(a){for(var c=0;c<a._state.parents.length;c++)delete a._state.parents[c]._state.deps[a._state.id];for(var b in a._state.deps){var c=a._state.deps[b],f=c._state.parents.indexOf(a);-1<f&&c._state.parents.splice(f,1)}a._state.state=2;a._state.deps={}}function D(a){return h(function(c){return a(c())},[this])}function K(a){return h(function(a,c){return a()(c())},[this,a])}function z(){return this._state.value}function G(){return null!=
|
||||
this._state.value&&"function"===typeof this._state.value.toJSON?this._state.value.toJSON():this._state.value}function H(a){return 1===a._state.state}function c(a){return a._state.changed}function a(a){return 2!==a._state.state}function e(a){return a._state.error}var I=0,F=function(){},E={};d.merge=function(a){return h(function(){return a.map(function(a){return a()})},a)};d.combine=h;d.reject=function(a){var c=d();c.error(a);return c};d.HALT=E;return d},L=function(b,d){function p(b,d){if(null==d)return b;
|
||||
for(var h=b.match(/:[^\/]+/gi)||[],g=0;g<h.length;g++){var u=h[g].slice(1);null!=d[u]&&(b=b.replace(h[g],d[u]),delete d[u])}return b}function g(b,d){var h=F(d);if(""!==h){var g=0>b.indexOf("?")?"?":"&";b+=g+h}return b}function k(b){try{return""!==b?JSON.parse(b):null}catch(d){throw Error(b);}}function n(b){return b.responseText}function m(b,d){if("function"===typeof b)if(d instanceof Array)for(var g=0;g<d.length;g++)d[g]=new b(d[g]);else return new b(d);return d}var t=M(d),x=0,u;return{request:function(f){var d=
|
||||
t();void 0!==f.initialValue&&d(f.initialValue);var h="boolean"===typeof f.useBody?f.useBody:"GET"!==f.method&&"TRACE"!==f.method;"function"!==typeof f.serialize&&(f.serialize="undefined"!==typeof FormData&&f.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof f.deserialize&&(f.deserialize=k);"function"!==typeof f.extract&&(f.extract=n);f.url=p(f.url,f.data);h?f.data=f.serialize(f.data):f.url=g(f.url,f.data);var l=new b.XMLHttpRequest;l.open(f.method,f.url,"boolean"===
|
||||
typeof f.async?f.async:!0,"string"===typeof f.user?f.user:void 0,"string"===typeof f.password?f.password:void 0);f.serialize===JSON.stringify&&h&&l.setRequestHeader("Content-Type","application/json; charset=utf-8");f.deserialize===k&&l.setRequestHeader("Accept","application/json, text/*");"function"===typeof f.config&&(l=f.config(l,f)||l);l.onreadystatechange=function(){if(4===l.readyState){try{var b=f.extract!==n?f.extract(l,f):f.deserialize(f.extract(l,f));if(200<=l.status&&300>l.status)d(m(f.type,
|
||||
b));else{var g=Error(l.responseText),h;for(h in b)g[h]=b[h];d.error(g)}}catch(x){d.error(x)}"function"===typeof u&&u()}};h?l.send(f.data):l.send();return d},jsonp:function(d){var k=t();void 0!==d.initialValue&&k(d.initialValue);var h=d.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+x++,l=b.document.createElement("script");b[h]=function(g){l.parentNode.removeChild(l);k(m(d.type,g));"function"===typeof u&&u();delete b[h]};l.onerror=function(){l.parentNode.removeChild(l);k.error(Error("JSONP request failed"));
|
||||
"function"===typeof u&&u();delete b[h]};null==d.data&&(d.data={});d.url=p(d.url,d.data);d.data[d.callbackKey||"callback"]=h;l.src=g(d.url,d.data);b.document.documentElement.appendChild(l);return k},setCompletionCallback:function(b){u=b}}}(window,console.error.bind(console)),D=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(d){d=b.indexOf(d);-1<d&&b.splice(d,1)},publish:function(){for(var d=0;d<b.length;d++)b[d].apply(this,arguments)}}}();L.setCompletionCallback(D.publish);
|
||||
var N=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var d={},p={},g=0;g<b.length;g++){var k=b[g].split("="),n=decodeURIComponent(k[0]),k=2===k.length?decodeURIComponent(k[1]):"",m=Number(k);""!==k&&!isNaN(m)||"NaN"===k?k=m:"true"===k?k=!0:"false"===k?k=!1:(m=new Date(k),isNaN(m.getTime())||(k=m));var m=n.split(/\]\[?|\[/),t=d;-1<n.indexOf("[")&&m.pop();for(var x=0;x<m.length;x++){var n=m[x],u=m[x+1],u=""==u||!isNaN(parseInt(u,10)),f=x===m.length-1;""===
|
||||
n&&(n=m.slice(0,x).join(),null==p[n]&&(p[n]=0),n=p[n]++);null==t[n]&&(t[n]=f?k:u?[]:{});t=t[n]}}return d},Q=function(b){function d(d){var g=b.location[d].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===d&&"/"!==g[0]&&(g="/"+g);return g}function p(b,d,f){var g=b.indexOf("?"),h=b.indexOf("#"),l=-1<g?g:-1<h?h:b.length;if(-1<g){var g=N(b.slice(g+1,-1<h?h:b.length)),k;for(k in g)d[k]=g[k]}if(-1<h)for(k in d=N(b.slice(h+1)),d)f[k]=d[k];return b.slice(0,l)}function g(){switch(t.charAt(0)){case "#":return d("hash").slice(t.length);
|
||||
case "?":return d("search").slice(t.length)+d("hash");default:return d("pathname").slice(t.length)+d("search")+d("hash")}}function k(d,g,f){var k={},h={};d=p(d,k,h);if(null!=g){for(var l in g)k[l]=g[l];d=d.replace(/:([^\/]+)/g,function(b,d){delete k[d];return g[d]})}(l=F(k))&&(d+="?"+l);(h=F(h))&&(d+="#"+h);n?(f&&f.replace?b.history.replaceState(null,null,t+d):b.history.pushState(null,null,t+d),b.onpopstate()):b.location.href=t+d}var n="function"===typeof b.history.pushState,m="function"===typeof setImmediate?
|
||||
setImmediate:setTimeout,t="#!";return{setPrefix:function(b){t=b},getPath:g,setPath:k,defineRoutes:function(d,k,f){function y(){var b=g(),l={},n=p(b,l,l);m(function(){for(var g in d){var m=new RegExp("^"+g.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(m.test(n)){n.replace(m,function(){for(var f=g.match(/:[^\/]+/g)||[],m=[].slice.call(arguments,1,-2),n=0;n<f.length;n++)l[f[n].replace(/:|\./g,"")]=decodeURIComponent(m[n]);k(d[g],l,b,g)});return}}f(b,l)})}n?b.onpopstate=
|
||||
y:"#"===t.charAt(0)&&(b.onhashchange=y);y();return y},link:function(b){b.dom.setAttribute("href",t+b.attrs.href);b.dom.onclick=function(d){d.preventDefault();d.redraw=!1;k(b.attrs.href,void 0,void 0)}}}},R=function(b){var d=0,p=null,g="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(k){var n=Date.now();!0===k||0===d||16<=n-d?(d=n,b()):null===p&&(p=g(function(){p=null;b();d=Date.now()},16-(n-d)))}},O=function(b,d,p,g){g=R(g);null!=d&&d.setEventCallback(function(b){!1!==
|
||||
b.redraw&&p.publish()});null!=p&&(b.redraw&&p.unsubscribe(b.redraw),p.subscribe(g));return b.redraw=g};A.route=function(b,d,p){var g=Q(b);b=function(b,n,m){var t=null,x="div";m=g.defineRoutes(m,function(g,f,m,h){f.path=m;f.route=h;if("function"===typeof g.onmatch)if("function"!==typeof g.view&&(g.view=function(b){return b}),h=function(h){t=m;x=h;d.render(b,g.view(w(h,null,f,void 0,void 0,void 0)))},m!==t)g.onmatch(w(g,null,f,void 0,void 0,void 0),h);else h(x);else d.render(b,w(g,null,f,void 0,void 0,
|
||||
void 0))},function(){g.setPath(n,null,{replace:!0})});O(b,d,p,m)};b.link=g.link;b.prefix=g.setPrefix;b.set=g.setPath;b.get=g.getPath;return b}(window,I,D);A.mount=function(b,d){return function(p,g){null===g?(b.render(p,[]),d.unsubscribe(p.redraw),delete p.redraw):O(p,b,d,function(){b.render(p,w(g,void 0,void 0,void 0,void 0,void 0))})()}}(I,D);A.trust=function(b){return w("<",void 0,void 0,b,void 0,void 0)};A.withAttr=function(b,d,p){return function(g){return d.call(p||this,b in g.currentTarget?g.currentTarget[b]:
|
||||
g.currentTarget.getAttribute(b))}};A.prop=M(console.log.bind(console));A.render=I.render;A.redraw=D.publish;A.request=L.request;A.jsonp=L.jsonp;A.version="1.0.0";"undefined"!==typeof module?module.exports=A:window.m=A};
|
||||
new function(){function u(b,d,r,g,n,k){return{tag:b,key:d,attrs:r,children:g,text:n,dom:k,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}u.normalize=function(b){return b instanceof Array?u("[",void 0,void 0,u.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?u("#",void 0,void 0,b,void 0,void 0):b};u.normalizeChildren=function(b){for(var d=0;d<b.length;d++)b[d]=u.normalize(b[d]);return b};var P=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,
|
||||
G={},z=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 d,r,g=[],n={};d=P.exec(b);){var k=d[1],m=d[2];""===k&&""!==m?r=m:"#"===k?n.id=m:"."===k?g.push(m):"["===d[3][0]&&((k=d[6])&&(k=k.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),n[d[4]]=k||!0)}0<g.length&&(n.className=g.join(" "));G[b]=function(b,d){var e=!1,g,k,p=b.className||b["class"],m;for(m in n)b[m]=n[m];void 0!==
|
||||
p&&(void 0!==b["class"]&&(b["class"]=void 0,b.className=p),void 0!==n.className&&(b.className=n.className+" "+p));for(m in b)if("key"!==m){e=!0;break}d instanceof Array&&1==d.length&&null!=d[0]&&"#"===d[0].tag?k=d[0].children:g=d;return u(r||"div",b.key,e?b:void 0,g,k,void 0)}}var l;null!=arguments[1]&&("object"!==typeof arguments[1]||void 0!==arguments[1].tag||arguments[1]instanceof Array)?g=1:(l=arguments[1],g=2);if(arguments.length===g+1)d=arguments[g]instanceof Array?arguments[g]:[arguments[g]];
|
||||
else for(d=[];g<arguments.length;g++)d.push(arguments[g]);return"string"===typeof b?G[b](l||{},u.normalizeChildren(d)):u(b,l&&l.key,l||{},u.normalizeChildren(d),void 0,void 0)},I=function(b){function d(c,a,f,e,b,d,q){for(;f<e;f++){var t=a[f];null!=t&&w(c,r(t,b,q),d)}}function r(c,a,f){var e=c.tag;null!=c.attrs&&J(c.attrs,c,a);if("string"===typeof e)switch(e){case "#":return c.dom=x.createTextNode(c.children);case "<":return g(c);case "[":var b=x.createDocumentFragment();null!=c.children&&(e=c.children,
|
||||
d(b,e,0,e.length,a,null,f));c.dom=b.firstChild;c.domSize=b.childNodes.length;return b;default:var k=c.tag;switch(c.tag){case "svg":f="http://www.w3.org/2000/svg";break;case "math":f="http://www.w3.org/1998/Math/MathML"}var q=(e=c.attrs)&&e.is,k=f?q?x.createElementNS(f,k,{is:q}):x.createElementNS(f,k):q?x.createElement(k,{is:q}):x.createElement(k);c.dom=k;if(null!=e)for(b in q=f,e)p(c,b,null,e[b],q);null!=c.text&&(""!==c.text?k.textContent=c.text:c.children=[u("#",void 0,void 0,c.text,void 0,void 0)]);
|
||||
null!=c.children&&(b=c.children,d(k,b,0,b.length,a,null,f),a=c.attrs,"select"===c.tag&&null!=a&&("value"in a&&p(c,"value",null,a.value,void 0),"selectedIndex"in a&&p(c,"selectedIndex",null,a.selectedIndex,void 0)));return k}else return c.state||(c.state={}),K(c.state,c.tag),J(c.tag,c,a),c.instance=u.normalize(c.tag.view.call(c.state,c)),null!=c.instance?(a=r(c.instance,a,f),c.dom=c.instance.dom,c.domSize=null!=c.dom?c.instance.domSize:0,c=a):(c.domSize=0,c=D),c}function g(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=x.createElement(a);a.innerHTML=c.children;c.dom=a.firstChild;c.domSize=a.childNodes.length;c=x.createDocumentFragment();for(var f;f=a.firstChild;)c.appendChild(f);return c}function n(c,a,f,e,b,p){if(a!==f&&(null!=a||null!=f))if(null==a)d(c,f,0,f.length,e,b,void 0);else if(null==f)y(c,a,0,a.length,f);else{var q;a:{if(null!=a.pool&&Math.abs(a.pool.length-
|
||||
f.length)<=Math.abs(a.length-f.length)&&(q=f[0]&&f[0].children&&f[0].children.length||0,Math.abs((a.pool[0]&&a.pool[0].children&&a.pool[0].children.length||0)-q)<=Math.abs((a[0]&&a[0].children&&a[0].children.length||0)-q))){q=!0;break a}q=!1}q&&(a=a.concat(a.pool));if(a.length===f.length&&null!=f[0]&&null==f[0].key)for(var t=0;t<a.length;t++)a[t]===f[t]||null==a[t]&&null==f[t]||(null==a[t]?w(c,r(f[t],e,p),l(a,t+1,b)):null==f[t]?y(c,a,t,t+1,f):k(c,a[t],f[t],e,l(a,t+1,b),q,p),q&&a[t].tag===f[t].tag&&
|
||||
w(c,m(a[t]),l(a,t+1,b)));else{for(var B=t=0,g=a.length-1,A=f.length-1,n;g>=t&&A>=B;){var h=a[t],v=f[B];if(h===v)t++,B++;else if(null!=h&&null!=v&&h.key===v.key)t++,B++,k(c,h,v,e,l(a,t,b),q,p),q&&h.tag===v.tag&&w(c,m(h),b);else if(h=a[g],h===v)g--,B++;else if(null!=h&&null!=v&&h.key===v.key)k(c,h,v,e,l(a,g+1,b),q,p),B<A&&w(c,m(h),l(a,t,b)),g--,B++;else break}for(;g>=t&&A>=B;){h=a[g];v=f[A];if(h===v)g--;else if(null!=h&&null!=v&&h.key===v.key)k(c,h,v,e,l(a,g+1,b),q,p),q&&h.tag===v.tag&&w(c,m(h),b),
|
||||
null!=h.dom&&(b=h.dom),g--;else{if(!n){n=a;var h=g,x={},u;for(u=0;u<h;u++){var C=n[u];null!=C&&(C=C.key,null!=C&&(x[C]=u))}n=x}null!=v&&(h=n[v.key],null!=h?(x=a[h],k(c,x,v,e,l(a,g+1,b),q,p),w(c,m(x),b),a[h].skip=!0,null!=x.dom&&(b=x.dom)):(v=r(v,e,void 0),w(c,v,b),b=v))}A--;if(A<B)break}d(c,f,B,A+1,e,b,p);y(c,a,t,g+1,f)}}}function k(c,a,f,b,e,d,q){var t=a.tag;if(t===f.tag){f.state=a.state;f.events=a.events;var h;var y;null!=f.attrs&&"function"===typeof f.attrs.onbeforeupdate&&(h=f.attrs.onbeforeupdate.call(f.state,
|
||||
f,a));"string"!==typeof f.tag&&"function"===typeof f.tag.onbeforeupdate&&(y=f.tag.onbeforeupdate.call(f.state,f,a));void 0===h&&void 0===y||h||y?h=!1:(f.dom=a.dom,f.domSize=a.domSize,f.instance=a.instance,h=!0);if(!h)if(null!=f.attrs&&z(f.attrs,f,b,d),"string"===typeof t)switch(t){case "#":a.children.toString()!==f.children.toString()&&(a.dom.nodeValue=f.children);f.dom=a.dom;break;case "<":a.children!==f.children?(m(a),w(c,g(f),e)):(f.dom=a.dom,f.domSize=a.domSize);break;case "[":n(c,a.children,
|
||||
f.children,b,e,q);a=0;b=f.children;f.dom=null;if(null!=b){for(var l=0;l<b.length;l++)c=b[l],null!=c&&null!=c.dom&&(null==f.dom&&(f.dom=c.dom),a+=c.domSize||1);1!==a&&(f.domSize=a)}break;default:c=q;e=f.dom=a.dom;switch(f.tag){case "svg":c="http://www.w3.org/2000/svg";break;case "math":c="http://www.w3.org/1998/Math/MathML"}"textarea"===f.tag&&(null==f.attrs&&(f.attrs={}),null!=f.text&&(f.attrs.value=f.text));d=a.attrs;q=f.attrs;t=c;if(null!=q)for(l in q)p(f,l,d&&d[l],q[l],t);if(null!=d)for(l in d)null!=
|
||||
q&&l in q||("o"!==l[0]||"n"!==l[1]||v(l)?"key"!==l&&f.dom.removeAttribute(l):C(f,l,void 0));null!=a.text&&null!=f.text&&""!==f.text?a.text.toString()!==f.text.toString()&&(a.dom.firstChild.nodeValue=f.text):(null!=a.text&&(a.children=[u("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=f.text&&(f.children=[u("#",void 0,void 0,f.text,void 0,void 0)]),n(e,a.children,f.children,b,null,c))}else f.instance=u.normalize(f.tag.view.call(f.state,f)),z(f.tag,f,b,d),null!=f.instance?(null==a.instance?
|
||||
w(c,r(f.instance,b,q),e):k(c,a.instance,f.instance,b,e,d,q),f.dom=f.instance.dom,f.domSize=f.instance.domSize):null!=a.instance?(A(c,a.instance,null),f.dom=void 0,f.domSize=0):(f.dom=a.dom,f.domSize=a.domSize)}else A(c,a,null),w(c,r(f,b,void 0),e)}function m(c){var a=c.domSize;if(null!=a||null==c.dom){var f=x.createDocumentFragment();if(0<a){for(c=c.dom;--a;)f.appendChild(c.nextSibling);f.insertBefore(c,f.firstChild)}return f}return c.dom}function l(c,a,f){for(;a<c.length;a++)if(null!=c[a]&&null!=
|
||||
c[a].dom)return c[a].dom;return f}function w(c,a,f){f&&f.parentNode?c.insertBefore(a,f):c.appendChild(a)}function y(c,a,f,b,e){for(;f<b;f++){var d=a[f];null!=d&&(d.skip?d.skip=!1:A(c,d,e))}}function e(c){var a=!1;return function(){a||(a=!0,c())}}function A(c,a,f){function b(){if(++g===d&&(h(a),a.dom)){var q=a.domSize||1;if(1<q)for(var e=a.dom;--q;)c.removeChild(e.nextSibling);null!=a.dom.parentNode&&c.removeChild(a.dom);if(q=null!=f&&null==a.domSize)q=a.attrs,q=!(null!=q&&(q.oncreate||q.onupdate||
|
||||
q.onbeforeremove||q.onremove));q&&"string"===typeof a.tag&&(f.pool?f.pool.push(a):f.pool=[a])}}var d=1,g=0;a.attrs&&a.attrs.onbeforeremove&&(d++,a.attrs.onbeforeremove.call(a.state,a,e(b)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(d++,a.tag.onbeforeremove.call(a.state,a,e(b)));b()}function h(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)h(c.instance);else if(c=c.children,c instanceof
|
||||
Array)for(var a=0;a<c.length;a++){var f=c[a];null!=f&&h(f)}}function p(c,a,f,b,e){var d=c.dom;if("key"!==a&&(f!==b||"value"===a||"checked"===a||"selectedIndex"===a||"selected"===a&&c.dom===x.activeElement||"object"===typeof b)&&"undefined"!==typeof b&&!v(a)){var q=a.indexOf(":");if(-1<q&&"xlink"===a.substr(0,q))d.setAttributeNS("http://www.w3.org/1999/xlink",a.slice(q+1),b);else if("o"===a[0]&&"n"===a[1]&&"function"===typeof b)C(c,a,b);else if("style"===a)if(c=f,c===b&&(d.style.cssText="",c=null),
|
||||
null==b)d.style.cssText="";else if("string"===typeof b)d.style.cssText=b;else{"string"===typeof c&&(d.style.cssText="");for(var t in b)d.style[t]=b[t];if(null!=c&&"string"!==typeof c)for(t in c)t in b||(d.style[t]="")}else if(a in d&&"href"!==a&&"list"!==a&&"form"!==a&&void 0===e){if("input"!==c.tag||"value"!==a||c.dom.value!==b||c.dom!==x.activeElement)d[a]=b}else"boolean"===typeof b?b?d.setAttribute(a,""):d.removeAttribute(a):d.setAttribute("className"===a?"class":a,b)}}function v(c){return"oninit"===
|
||||
c||"oncreate"===c||"onupdate"===c||"onremove"===c||"onbeforeremove"===c||"onbeforeupdate"===c}function C(c,a,b){var e=c.dom,d=function(a){var c=b.call(e,a);"function"===typeof H&&H.call(e,a);return c};if(a in e)e[a]=d;else{var h=a.slice(2);void 0===c.events&&(c.events={});null!=c.events[a]&&e.removeEventListener(h,c.events[a],!1);"function"===typeof b&&(c.events[a]=d,e.addEventListener(h,c.events[a],!1))}}function J(c,a,b){"function"===typeof c.oninit&&c.oninit.call(a.state,a);"function"===typeof c.oncreate&&
|
||||
b.push(c.oncreate.bind(a.state,a))}function z(c,a,b,e){e?J(c,a,b):"function"===typeof c.onupdate&&b.push(c.onupdate.bind(a.state,a))}function K(c,a){Object.keys(a).forEach(function(b){c[b]=a[b]})}var x=b.document,D=x.createDocumentFragment(),H;return{render:function(c,a){var b=[],e=x.activeElement;null==c.vnodes&&(c.textContent="");a instanceof Array||(a=[a]);n(c,c.vnodes,u.normalizeChildren(a),b,null,void 0);c.vnodes=a;for(var d=0;d<b.length;d++)b[d]();x.activeElement!==e&&e.focus()},setEventCallback:function(c){return H=
|
||||
c}}}(window),F=function(b){function d(b,g){if(g instanceof Array)for(var m=0;m<g.length;m++)d(b+"["+m+"]",g[m]);else if("[object Object]"===Object.prototype.toString.call(g))for(m in g)d(b+"["+m+"]",g[m]);else r.push(encodeURIComponent(b)+(null!=g&&""!==g?"="+encodeURIComponent(g):""))}if("[object Object]"!==Object.prototype.toString.call(b))return"";var r=[],g;for(g in b)d(g,b[g]);return r.join("&")},M=function(b){function d(){function a(){0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);
|
||||
return a._state.value}r(a,arguments);0<arguments.length&&arguments[0]!==E&&g(a,arguments[0],void 0);return a}function r(a,b){a.constructor=d;a._state={id:I++,value:void 0,error:void 0,state:0,derive:void 0,recover:void 0,deps:{},parents:[],errorStream:void 0,endStream:void 0};a.map=D;a.ap=K;a.of=d;a.valueOf=x;a.toJSON=G;a.toString=x;a.run=e;a["catch"]=A;Object.defineProperties(a,{error:{get:function(){if(!a._state.errorStream){var b=function(){0<arguments.length&&arguments[0]!==E&&g(a,void 0,arguments[0]);
|
||||
return a._state.error};r(b,[]);v(b,[a],F,F);a._state.errorStream=b}return a._state.errorStream}},end:{get:function(){if(!a._state.endStream){var b=d();b.map(function(c){!0===c&&(z(a),z(b));return c});a._state.endStream=b}return a._state.endStream}}})}function g(a,b,c){n(a,b,c);for(var e in a._state.deps)m(a._state.deps[e],!1);a._state.changed=!1;for(var f in a._state.deps)a._state.deps[f]._state.changed=!1}function n(a,b,c){c=w(b,c);if(void 0!==c&&"function"===typeof a._state.recover){if(!l(a,k,!0))return}else k(a,
|
||||
b,c);a._state.changed=!0;2!==a._state.state&&(a._state.state=1)}function k(a,b,c){a._state.value=b;a._state.error=c}function m(a,b){var e=a._state.parents;0<e.length&&e.filter(H).length===e.length&&(b||0<e.filter(c).length)&&(e=e.filter(f),0<e.length?n(a,void 0,e[0]._state.error):l(a,n,!1))}function l(a,b,c){try{var e=c?a._state.recover():a._state.derive();if(e===E)return!1;b(a,e,void 0)}catch(f){b(a,void 0,null!=f.__error?f.__error:f),null==f.__error&&y(a,f)}return!0}function w(a,b){null!=a&&a.constructor===
|
||||
d&&(b=void 0!==a._state.error?a._state.error:w(a._state.value,a._state.error));return b}function y(a,c){0===Object.keys(a._state.deps).length&&setTimeout(function(){0===Object.keys(a._state.deps).length&&b(c)},0)}function e(a){var b=d(),c=this;return v(b,[c],function(){return p(b,a(c()))},void 0)}function A(a){var b=d(),c=this;return v(b,[c],function(){return c._state.value},function(){return p(b,a(c._state.error))})}function h(a,b){return v(d(),b,function(){var e=b.filter(f);if(0<e.length)throw{__error:e[0]._state.error};
|
||||
return a.apply(this,b.concat([b.filter(c)]))},void 0)}function p(a,b){if(null!=b&&b.constructor===d){var c=b,e=function(){n(a,c._state.value,c._state.error);for(var b in a._state.deps)m(a._state.deps[b],!1)};c.map(e)["catch"](function(a){e();throw{__error:a};});if(0===c._state.state)return E;if(c._state.error)throw{__error:c._state.error};b=c._state.value}return b}function v(b,c,e,f){var d=b._state;d.derive=e;d.recover=f;d.parents=c.filter(a);u(b,d.parents);m(b,!0);return b}function u(a,b){for(var c=
|
||||
0;c<b.length;c++)b[c]._state.deps[a._state.id]=a,u(a,b[c]._state.parents)}function z(a){for(var b=0;b<a._state.parents.length;b++)delete a._state.parents[b]._state.deps[a._state.id];for(var c in a._state.deps){var b=a._state.deps[c],e=b._state.parents.indexOf(a);-1<e&&b._state.parents.splice(e,1)}a._state.state=2;a._state.deps={}}function D(a){return h(function(b){return a(b())},[this])}function K(a){return h(function(a,b){return a()(b())},[this,a])}function x(){return this._state.value}function G(){return null!=
|
||||
this._state.value&&"function"===typeof this._state.value.toJSON?this._state.value.toJSON():this._state.value}function H(a){return 1===a._state.state}function c(a){return a._state.changed}function a(a){return 2!==a._state.state}function f(a){return a._state.error}var I=0,F=function(){},E={};d.merge=function(a){return h(function(){return a.map(function(a){return a()})},a)};d.combine=h;d.reject=function(a){var b=d();b.error(a);return b};d.HALT=E;return d},L=function(b,d){function r(b,d){if(null==d)return b;
|
||||
for(var h=b.match(/:[^\/]+/gi)||[],g=0;g<h.length;g++){var k=h[g].slice(1);null!=d[k]&&(b=b.replace(h[g],d[k]),delete d[k])}return b}function g(b,d){var g=F(d);if(""!==g){var p=0>b.indexOf("?")?"?":"&";b+=p+g}return b}function n(b){try{return""!==b?JSON.parse(b):null}catch(d){throw Error(b);}}function k(b){return b.responseText}function m(b,d){if("function"===typeof b)if(d instanceof Array)for(var g=0;g<d.length;g++)d[g]=new b(d[g]);else return new b(d);return d}var l=M(d),w=0,y;return{request:function(e){var d=
|
||||
l();void 0!==e.initialValue&&d(e.initialValue);var h="boolean"===typeof e.useBody?e.useBody:"GET"!==e.method&&"TRACE"!==e.method;"function"!==typeof e.serialize&&(e.serialize="undefined"!==typeof FormData&&e.data instanceof FormData?function(b){return b}:JSON.stringify);"function"!==typeof e.deserialize&&(e.deserialize=n);"function"!==typeof e.extract&&(e.extract=k);e.url=r(e.url,e.data);h?e.data=e.serialize(e.data):e.url=g(e.url,e.data);var p=new b.XMLHttpRequest;p.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&&h&&p.setRequestHeader("Content-Type","application/json; charset=utf-8");e.deserialize===n&&p.setRequestHeader("Accept","application/json, text/*");"function"===typeof e.config&&(p=e.config(p,e)||p);p.onreadystatechange=function(){if(4===p.readyState){try{var b=e.extract!==k?e.extract(p,e):e.deserialize(e.extract(p,e));if(200<=p.status&&300>p.status)d(m(e.type,
|
||||
b));else{var g=Error(p.responseText),h;for(h in b)g[h]=b[h];d.error(g)}}catch(w){d.error(w)}"function"===typeof y&&y()}};h?p.send(e.data):p.send();return d},jsonp:function(e){var d=l();void 0!==e.initialValue&&d(e.initialValue);var h=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+w++,p=b.document.createElement("script");b[h]=function(g){p.parentNode.removeChild(p);d(m(e.type,g));"function"===typeof y&&y();delete b[h]};p.onerror=function(){p.parentNode.removeChild(p);d.error(Error("JSONP request failed"));
|
||||
"function"===typeof y&&y();delete b[h]};null==e.data&&(e.data={});e.url=r(e.url,e.data);e.data[e.callbackKey||"callback"]=h;p.src=g(e.url,e.data);b.document.documentElement.appendChild(p);return d},setCompletionCallback:function(b){y=b}}}(window,console.error.bind(console)),D=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(d){d=b.indexOf(d);-1<d&&b.splice(d,1)},publish:function(){for(var d=0;d<b.length;d++)b[d].apply(this,arguments)}}}();L.setCompletionCallback(D.publish);
|
||||
var N=function(b){if(""===b||null==b)return{};"?"===b.charAt(0)&&(b=b.slice(1));b=b.split("&");for(var d={},r={},g=0;g<b.length;g++){var n=b[g].split("="),k=decodeURIComponent(n[0]),n=2===n.length?decodeURIComponent(n[1]):"",m=Number(n);""!==n&&!isNaN(m)||"NaN"===n?n=m:"true"===n?n=!0:"false"===n?n=!1:(m=new Date(n),isNaN(m.getTime())||(n=m));var m=k.split(/\]\[?|\[/),l=d;-1<k.indexOf("[")&&m.pop();for(var w=0;w<m.length;w++){var k=m[w],y=m[w+1],y=""==y||!isNaN(parseInt(y,10)),e=w===m.length-1;""===
|
||||
k&&(k=m.slice(0,w).join(),null==r[k]&&(r[k]=0),k=r[k]++);null==l[k]&&(l[k]=e?n:y?[]:{});l=l[k]}}return d},Q=function(b){function d(d){var g=b.location[d].replace(/(?:%[a-f89][a-f0-9])+/gim,decodeURIComponent);"pathname"===d&&"/"!==g[0]&&(g="/"+g);return g}function r(b,d,e){var g=b.indexOf("?"),h=b.indexOf("#"),p=-1<g?g:-1<h?h:b.length;if(-1<g){var g=N(b.slice(g+1,-1<h?h:b.length)),k;for(k in g)d[k]=g[k]}if(-1<h)for(k in d=N(b.slice(h+1)),d)e[k]=d[k];return b.slice(0,p)}function g(){switch(l.charAt(0)){case "#":return d("hash").slice(l.length);
|
||||
case "?":return d("search").slice(l.length)+d("hash");default:return d("pathname").slice(l.length)+d("search")+d("hash")}}function n(d,g,e){var n={},h={};d=r(d,n,h);if(null!=g){for(var p in g)n[p]=g[p];d=d.replace(/:([^\/]+)/g,function(b,d){delete n[d];return g[d]})}(p=F(n))&&(d+="?"+p);(h=F(h))&&(d+="#"+h);k?(e&&e.replace?b.history.replaceState(null,null,l+d):b.history.pushState(null,null,l+d),b.onpopstate()):b.location.href=l+d}var k="function"===typeof b.history.pushState,m="function"===typeof setImmediate?
|
||||
setImmediate:setTimeout,l="#!";return{setPrefix:function(b){l=b},getPath:g,setPath:n,defineRoutes:function(d,n,e){function u(){var b=g(),k={},l=r(b,k,k);m(function(){for(var g in d){var m=new RegExp("^"+g.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(m.test(l)){l.replace(m,function(){for(var e=g.match(/:[^\/]+/g)||[],l=[].slice.call(arguments,1,-2),m=0;m<e.length;m++)k[e[m].replace(/:|\./g,"")]=decodeURIComponent(l[m]);n(d[g],k,b,g)});return}}e(b,k)})}k?b.onpopstate=
|
||||
u:"#"===l.charAt(0)&&(b.onhashchange=u);u();return u},link:function(b){b.dom.setAttribute("href",l+b.attrs.href);b.dom.onclick=function(d){d.preventDefault();d.redraw=!1;n(b.attrs.href,void 0,void 0)}}}},R=function(b){var d=0,r=null,g="function"===typeof requestAnimationFrame?requestAnimationFrame:setTimeout;return function(n){var k=Date.now();!0===n||0===d||16<=k-d?(d=k,b()):null===r&&(r=g(function(){r=null;b();d=Date.now()},16-(k-d)))}},O=function(b,d,r,g){g=R(g);null!=d&&d.setEventCallback(function(b){!1!==
|
||||
b.redraw&&r.publish()});null!=r&&(b.redraw&&r.unsubscribe(b.redraw),r.subscribe(g));return b.redraw=g};z.route=function(b,d,r){var g=Q(b);b=function(b,k,m){var l=null,w="div";m=g.defineRoutes(m,function(g,e,k,h){e.path=k;e.route=h;if("function"===typeof g.onmatch)if("function"!==typeof g.view&&(g.view=function(b){return b}),h=function(h){l=k;w=h;d.render(b,g.view(u(h,null,e,void 0,void 0,void 0)))},k!==l)g.onmatch(u(g,null,e,void 0,void 0,void 0),h);else h(w);else d.render(b,u(g,null,e,void 0,void 0,
|
||||
void 0))},function(){g.setPath(k,null,{replace:!0})});O(b,d,r,m)};b.link=g.link;b.prefix=g.setPrefix;b.set=g.setPath;b.get=g.getPath;return b}(window,I,D);z.mount=function(b,d){return function(r,g){null===g?(b.render(r,[]),d.unsubscribe(r.redraw),delete r.redraw):O(r,b,d,function(){b.render(r,u(g,void 0,void 0,void 0,void 0,void 0))})()}}(I,D);z.trust=function(b){return u("<",void 0,void 0,b,void 0,void 0)};z.withAttr=function(b,d,r){return function(g){return d.call(r||this,b in g.currentTarget?g.currentTarget[b]:
|
||||
g.currentTarget.getAttribute(b))}};z.prop=M(console.log.bind(console));z.render=I.render;z.redraw=D.publish;z.request=L.request;z.jsonp=L.jsonp;z.version="1.0.0";"undefined"!==typeof module?module.exports=z:window.m=z};
|
||||
Loading…
Add table
Add a link
Reference in a new issue