40 lines
No EOL
20 KiB
JavaScript
40 lines
No EOL
20 KiB
JavaScript
new function(){function u(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 z(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,l,h,f=a.className||a["class"],x;for(x in d)a[x]=d[x];void 0!==f&&(void 0!==a["class"]&&(a["class"]=void 0,a.className=f),void 0!==d.className&&(a.className=d.className+" "+f));for(x in a)if("key"!==x){b=!0;break}c instanceof Array&&1==c.length&&null!=c[0]&&"#"===c[0].tag?h=c[0].children:l=c;return u(g||"div",a.key,b?a:void 0,l,h,void 0)}}var p;null!=arguments[1]&&("object"!==typeof arguments[1]||
|
|
void 0!==arguments[1].tag||arguments[1]instanceof Array)?c=1:(p=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](p||{},u.normalizeChildren(f)):u(a,p&&p.key,p||{},u.normalizeChildren(f),void 0,void 0)}u.normalize=function(a){return a instanceof Array?u("[",void 0,void 0,u.normalizeChildren(a),void 0,void 0):null!=a&&"object"!==typeof a?u("#",void 0,void 0,a,
|
|
void 0,void 0):a};u.normalizeChildren=function(a){for(var f=0;f<a.length;f++)a[f]=u.normalize(a[f]);return a};var O=/(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\5)?\])/g,I={};z.trust=function(a){null==a&&(a="");return u("<",void 0,void 0,a,void 0,void 0)};z.fragment=function(a,f){return u("[",a.key,a,u.normalizeChildren(f),void 0,void 0)};var w=function(a){function f(b,a){return function t(l){var f;try{if(!a||null==l||"object"!==typeof l&&"function"!==typeof l||"function"!==
|
|
typeof(f=l.then))r(function(){a||0!==b.length||console.error("Possible unhandled promise rejection:",l);for(var c=0;c<b.length;c++)b[c](l);d.length=0;h.length=0;m.state=a;m.retry=function(){t(l)}});else{if(l===c)throw new TypeError("Promise can't be resolved w/ itself");g(f.bind(l))}}catch(F){p(F)}}}function g(b){function a(b){return function(a){0<c++||b(a)}}var c=0,d=a(p);try{b(a(q),d)}catch(x){d(x)}}if(!(this instanceof w))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),p=f(h,!1),m=c._instance={resolvers:d,rejectors:h},r="function"===typeof setImmediate?setImmediate:setTimeout;g(a)};w.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 w(function(a,c){d=a;h=c});g(a,c.resolvers,d,!0);g(f,c.rejectors,h,!1);return q};w.prototype["catch"]=function(a){return this.then(null,
|
|
a)};w.resolve=function(a){return a instanceof w?a:new w(function(f){f(a)})};w.reject=function(a){return new w(function(f,g){g(a)})};w.all=function(a){return new w(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)})};w.race=function(a){return new w(function(f,g){for(var c=0;c<a.length;c++)a[c].then(f,
|
|
g)})};"undefined"===typeof Promise&&("undefined"!==typeof window?window.Promise=w:"undefined"!==typeof global&&(global.Promise=w));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(l){throw Error(b);}}function q(b){return b.responseText}function p(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,l){var m=g();if("string"===typeof b){var t=b;b=l||{};null==b.url&&(b.url=t)}t=new f(function(f,l){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(p(b.type,a));else{var c=Error(m.responseText),
|
|
d;for(d in a)c[d]=a[d];l(c)}}catch(G){l(G)}};g&&null!=b.data?m.send(b.data):m.send()});return!1===b.redraw?t:m(t)},jsonp:function(b){var l=g(),h=new f(function(f,h){var l=b.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+m++,g=a.document.createElement("script");a[l]=function(c){g.parentNode.removeChild(g);f(p(b.type,c));delete a[l]};g.onerror=function(){g.parentNode.removeChild(g);h(Error("JSONP request failed"));delete a[l]};null==b.data&&(b.data={});b.url=c(b.url,b.data);b.data[b.callbackKey||
|
|
"callback"]=l;g.src=d(b.url,b.data);a.document.documentElement.appendChild(g)});return!1===b.redraw?h:l(h)},setCompletionCallback:function(a){r=a}}}(window,"undefined"!==typeof Promise?Promise:w),N=function(a){function f(e,k,a,b,c,d,f){for(;a<b;a++){var n=k[a];null!=n&&m(e,g(n,c,f),d)}}function g(e,k,a){var b=e.tag;null!=e.attrs&&w(e.attrs,e,k);if("string"===typeof b)switch(b){case "#":return e.dom=A.createTextNode(e.children);case "<":return c(e);case "[":var n=A.createDocumentFragment();null!=e.children&&
|
|
(b=e.children,f(n,b,0,b.length,k,null,a));e.dom=n.firstChild;e.domSize=n.childNodes.length;return n;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 l=(b=e.attrs)&&b.is,d=a?l?A.createElementNS(a,d,{is:l}):A.createElementNS(a,d):l?A.createElement(d,{is:l}):A.createElement(d);e.dom=d;if(null!=b)for(n in l=a,b)x(e,n,null,b[n],l);null!=e.attrs&&null!=e.attrs.contenteditable?r(e):(null!=e.text&&(""!==e.text?d.textContent=
|
|
e.text:e.children=[u("#",void 0,void 0,e.text,void 0,void 0)]),null!=e.children&&(n=e.children,f(d,n,0,n.length,k,null,a),k=e.attrs,"select"===e.tag&&null!=k&&("value"in k&&x(e,"value",null,k.value,void 0),"selectedIndex"in k&&x(e,"selectedIndex",null,k.selectedIndex,void 0))));return d}else{e.state||(e.state={});D(e.state,e.tag);n=e.tag.view;if(null!=n.reentrantLock)e=G;else if(n.reentrantLock=!0,w(e.tag,e,k),e.instance=u.normalize(n.call(e.state,e)),n.reentrantLock=null,null!=e.instance){if(e.instance===
|
|
e)throw Error("A view cannot return the vnode it received as arguments");k=g(e.instance,k,a);e.dom=e.instance.dom;e.domSize=null!=e.dom?e.instance.domSize:0;e=k}else e.domSize=0,e=G;return e}}function c(e){var k={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",k=A.createElement(k);k.innerHTML=e.children;e.dom=k.firstChild;e.domSize=k.childNodes.length;e=A.createDocumentFragment();
|
|
for(var a;a=k.firstChild;)e.appendChild(a);return e}function d(e,k,a,c,d,l){if(k!==a&&(null!=k||null!=a))if(null==k)f(e,a,0,a.length,c,d,void 0);else if(null==a)b(k,0,k.length,a);else if(k.length===a.length&&null!=a[0]&&null==a[0].key)for(var n=0;n<k.length;n++)k[n]===a[n]||null==k[n]&&null==a[n]||(null==k[n]?m(e,g(a[n],c,l),p(k,n+1,d)):null==a[n]?b(k,n,n+1,a):h(e,k[n],a[n],c,p(k,n+1,d),!1,l));else{a:{if(null!=k.pool&&Math.abs(k.pool.length-a.length)<=Math.abs(k.length-a.length)&&(n=a[0]&&a[0].children&&
|
|
a[0].children.length||0,Math.abs((k.pool[0]&&k.pool[0].children&&k.pool[0].children.length||0)-n)<=Math.abs((k[0]&&k[0].children&&k[0].children.length||0)-n))){n=!0;break a}n=!1}n&&(k=k.concat(k.pool));for(var B=0,y=0,t=k.length-1,x=a.length-1,E;t>=B&&x>=y;){var v=k[B],r=a[y];if(v!==r||n)if(null==v)B++;else if(null==r)y++;else if(v.key===r.key)B++,y++,h(e,v,r,c,p(k,B,d),n,l),n&&v.tag===r.tag&&m(e,q(v),d);else if(v=k[t],v!==r||n)if(null==v)t--;else if(null==r)y++;else if(v.key===r.key)h(e,v,r,c,p(k,
|
|
t+1,d),n,l),(n||y<x)&&m(e,q(v),p(k,B,d)),t--,y++;else break;else t--,y++;else B++,y++}for(;t>=B&&x>=y;){v=k[t];r=a[x];if(v!==r||n)if(null==v)t--;else{if(null!=r)if(v.key===r.key)h(e,v,r,c,p(k,t+1,d),n,l),n&&v.tag===r.tag&&m(e,q(v),d),null!=v.dom&&(d=v.dom),t--;else{if(!E){E=k;var v=t,u={},C;for(C=0;C<v;C++){var w=E[C];null!=w&&(w=w.key,null!=w&&(u[w]=C))}E=u}null!=r&&(v=E[r.key],null!=v?(u=k[v],h(e,u,r,c,p(k,t+1,d),n,l),m(e,q(u),d),k[v].skip=!0,null!=u.dom&&(d=u.dom)):(r=g(r,c,void 0),m(e,r,d),d=
|
|
r))}x--}else t--,x--;if(x<y)break}f(e,a,y,x+1,c,d,l);b(k,B,t+1,a)}}function h(e,a,b,f,l,y,t){var k=a.tag;if(k===b.tag){b.state=a.state;b.events=a.events;var n;var B;null!=b.attrs&&"function"===typeof b.attrs.onbeforeupdate&&(n=b.attrs.onbeforeupdate.call(b.state,b,a));"string"!==typeof b.tag&&"function"===typeof b.tag.onbeforeupdate&&(B=b.tag.onbeforeupdate.call(b.state,b,a));void 0===n&&void 0===B||n||B?n=!1:(b.dom=a.dom,b.domSize=a.domSize,b.instance=a.instance,n=!0);if(!n)if(null!=b.attrs&&z(b.attrs,
|
|
b,f,y),"string"===typeof k)switch(k){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),l)):(b.dom=a.dom,b.domSize=a.domSize);break;case "[":d(e,a.children,b.children,f,l,t);a=0;f=b.children;b.dom=null;if(null!=f){for(var p=0;p<f.length;p++)e=f[p],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;l=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));y=a.attrs;t=b.attrs;k=e;if(null!=t)for(p in t)x(b,p,y&&y[p],t[p],k);if(null!=y)for(p in y)null!=t&&p in t||("className"===p&&(p="class"),"o"!==p[0]||"n"!==p[1]||M(p)?"key"!==p&&b.dom.removeAttribute(p):F(b,p,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=[u("#",void 0,void 0,a.text,void 0,a.dom.firstChild)]),null!=b.text&&(b.children=[u("#",void 0,void 0,b.text,void 0,void 0)]),d(l,a.children,b.children,f,null,e))}else b.instance=u.normalize(b.tag.view.call(b.state,b)),z(b.tag,b,f,y),null!=b.instance?(null==a.instance?m(e,g(b.instance,f,t),l):h(e,a.instance,b.instance,f,l,y,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),l)}function q(a){var b=a.domSize;if(null!=b||null==a.dom){var e=A.createDocumentFragment();if(0<b){for(a=a.dom;--b;)e.appendChild(a.nextSibling);e.insertBefore(a,e.firstChild)}return e}return a.dom}function p(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 l(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 k=a.dom;--e;){var f=k.nextSibling,l=f.parentNode;null!=l&&l.removeChild(f)}e=a.dom;k=e.parentNode;null!=k&&k.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,l(e)));"string"!==typeof a.tag&&a.tag.onbeforeremove&&(c++,a.tag.onbeforeremove.call(a.state,a,l(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 x(a,b,c,d,f){var e=a.dom;if("key"!==b&&(c!==d||"value"===b||"checked"===b||"selectedIndex"===b||"selected"===b&&a.dom===A.activeElement||"object"===typeof d)&&"undefined"!==typeof d&&!M(b)){var k=b.indexOf(":");if(-1<k&&"xlink"===b.substr(0,k))e.setAttributeNS("http://www.w3.org/1999/xlink",b.slice(k+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 l in d)e.style[l]=d[l];if(null!=a&&"string"!==typeof a)for(l in a)l in d||(e.style[l]="")}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===A.activeElement||"select"===a.tag&&"value"===b&&a.dom.value===d&&a.dom===A.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 w(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 z(a,b,d,c){c?w(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 A=a.document,G=A.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=A.activeElement;null==a.vnodes&&(a.textContent="");b instanceof Array||(b=[b]);d(a,a.vnodes,u.normalizeChildren(b),c,null,void 0);a.vnodes=b;for(var f=0;f<c.length;f++)c[f]();A.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);z.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,u(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(/\]\[?|\[/),p=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==p[h]&&(p[h]=b?d:r?[]:{});p=p[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=p(function(){r=null;a(b)}))}}function c(a,c,d){var b=a.indexOf("?"),f=a.indexOf("#"),l=-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,l)}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 l={},g={};b=c(b,l,g);if(null!=d){for(var h in d)l[h]=d[h];b=b.replace(/:([^\/]+)/g,function(a,b){delete l[b];return d[b]})}(h=D(l))&&(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,p="function"===typeof setImmediate?setImmediate:setTimeout,m="#!",r;return{setPrefix:function(a){m=a},getPath:d,setPath:h,defineRoutes:function(b,f,h){function l(a){var l=d(),g={},m=c(l,g,g),p;for(p in b){var q=new RegExp("^"+p.replace(/:[^\/]+?\.{3}/g,"(.*?)").replace(/:[^\/]+/g,"([^\\/]+)")+"/?$");if(q.test(m)){m.replace(q,function(){for(var c=p.match(/:[^\/]+/g)||[],d=[].slice.call(arguments,1,-2),h=0;h<c.length;h++)g[c[h].replace(/:|\./g,
|
|
"")]=decodeURIComponent(d[h]);f(b[p],g,l,p,!!a)});return}}h(l,g)}q?a.onpopstate=g(l):"#"===m.charAt(0)&&(a.onhashchange=l);l(!0);return function(){l(!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))}}}};z.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 p=function(b,g,h,m){d.render=b.render||c;d.component=g;d.path=m;d.resolve=null;f.render(a,d.render(u(g,void 0,h)))};m=g.defineRoutes(m,function(a,c,f,g,h){a.view?p({},a,c,f):a.onmatch?!1===h&&d.path===f||null!=d.resolve?p(d,d.component,c):(d.resolve=function(b){p(a,b,c,f)},a.onmatch(function(a){d.path!==f&&null!=d.resolve&&d.resolve(a)},c,f)):p(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);z.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);z.render=Q.render;z.redraw=H.redraw;z.request=J.request;z.jsonp=J.jsonp;z.parseQueryString=L;z.buildQueryString=D;z.version="1.0.0-rc.6";"undefined"!==typeof module?module.exports=z:window.m=z}; |