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