From 9c4ebc866708a080d294d4eabd9f9e6198201778 Mon Sep 17 00:00:00 2001 From: Gandalf-the-Bot Date: Fri, 26 Aug 2016 04:57:32 +0000 Subject: [PATCH] Bundled output for commit e0ee79412638ef56c6fa10cb40c4a11d951ce206 [skip ci] --- mithril.js | 9 +++--- mithril.min.js | 82 +++++++++++++++++++++++++------------------------- 2 files changed, 45 insertions(+), 46 deletions(-) diff --git a/mithril.js b/mithril.js index 9a391528..cc497e8e 100644 --- a/mithril.js +++ b/mithril.js @@ -1097,16 +1097,15 @@ var autoredraw = function(root, renderer, pubsub, callback) { m.route = function($window, renderer, pubsub) { var router = coreRouter($window) var route = function(root, defaultRoute, routes) { - var current = {path: null, component: "div"} + var current = {path: null, component: "div", resolver: null}, currentResolutionIdentifier = null var replay = router.defineRoutes(routes, function(payload, args, path, route) { - var resolved = false + var resolutionIdentifier = currentResolutionIdentifier = {} function resolve(component) { - if (resolved) return - resolved = true + if (resolutionIdentifier !== currentResolutionIdentifier) return + resolutionIdentifier = null current.path = path, current.component = component renderer.render(root, payload.render(Vnode(component, null, args, undefined, undefined, undefined))) } - args.path = path, args.route = route if (typeof payload.view !== "function") { if (typeof payload.render !== "function") payload.render = function(vnode) {return vnode} if (typeof payload.onmatch !== "function") payload.onmatch = function() {resolve(current.component)} diff --git a/mithril.min.js b/mithril.min.js index 61f0fad7..a8f12318 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -1,41 +1,41 @@ -new function(){function u(b,e,q,g,k,m){return{tag:b,key:e,attrs:q,children:g,text:k,dom:m,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}function y(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===H[b]){for(var e,q,g=[],k={};e=O.exec(b);){var m=e[1],n=e[2];""===m&&""!==n?q=n:"#"===m?k.id=n:"."===m?g.push(n):"["===e[3][0]&&((m=e[6])&&(m=m.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")), -k[e[4]]=m||!0)}0=t&&z>=B;){var v=a[t],w=f[B];if(v===w)t++,B++;else if(null!=v&&null!=w&&v.key===w.key)t++,B++,m(c,v,w,b,l(a,t,h),p,g),p&&v.tag===w.tag&&r(c,n(v),h);else if(v=a[k],v===w)k--,B++;else if(null!=v&&null!=w&&v.key===w.key)m(c,v,w,b,l(a,k+1,h),p,g),B=t&&z>=B;){v=a[k];w=f[z];if(v===w)k--;else if(null!=v&&null!=w&&v.key===w.key)m(c,v,w,b,l(a,k+1,h),p,g),p&&v.tag===w.tag&&r(c,n(v),h),null!=v.dom&&(h=v.dom),k--;else{if(!A){A=a;var v=k,u={},x;for(x=0;xb.indexOf("?")?"?":"&";b+=h+g}return b}function k(b){try{return""!==b?JSON.parse(b):null}catch(e){throw Error(b); -}}function m(b){return b.responseText}function n(b,e){if("function"===typeof b)if(e instanceof Array)for(var g=0;gh.status)l(n(d.type,b));else{var e=Error(h.responseText),g;for(g in b)e[g]=b[g];l.error(e)}}catch(k){l.error(k)}"function"===typeof r&&r()}};z?h.send(d.data):h.send();return l},jsonp:function(d){var k=e();void 0!==d.initialValue&&k(d.initialValue);var m=d.callbackName||"_mithril_"+Math.round(1E16*Math.random())+ -"_"+l++,h=b.document.createElement("script");b[m]=function(e){h.parentNode.removeChild(h);k(n(d.type,e));"function"===typeof r&&r();delete b[m]};h.onerror=function(){h.parentNode.removeChild(h);k.error(Error("JSONP request failed"));"function"===typeof r&&r();delete b[m]};null==d.data&&(d.data={});d.url=q(d.url,d.data);d.data[d.callbackKey||"callback"]=m;h.src=g(d.url,d.data);b.document.documentElement.appendChild(h);return k},setCompletionCallback:function(b){r=b}}}(window,M),G=function(){var b= -[];return{subscribe:b.push.bind(b),unsubscribe:function(e){e=b.indexOf(e);-1=r&&z>=B;){var v=a[r],w=f[B];if(v===w)r++,B++;else if(null!=v&&null!=w&&v.key===w.key)r++,B++,m(b,v,w,d,l(a,r,h),q,g),q&&v.tag===w.tag&&t(b,n(v),h);else if(v=a[k],v===w)k--,B++;else if(null!=v&&null!=w&&v.key===w.key)m(b,v,w,d,l(a,k+1,h),q,g),B=r&&z>=B;){v=a[k];w=f[z];if(v===w)k--;else if(null!=v&&null!=w&&v.key===w.key)m(b,v,w,d,l(a,k+1,h),q,g),q&&v.tag===w.tag&&t(b,n(v),h),null!=v.dom&&(h=v.dom),k--;else{if(!A){A=a;var v=k,u={},y;for(y=0;yc.indexOf("?")?"?":"&";c+=h+e}return c}function k(c){try{return""!==c?JSON.parse(c):null}catch(d){throw Error(c); +}}function m(c){return c.responseText}function n(c,d){if("function"===typeof c)if(d instanceof Array)for(var e=0;eh.status)l(n(c.type,d));else{var e=Error(h.responseText),g;for(g in d)e[g]=d[g];l.error(e)}}catch(k){l.error(k)}"function"===typeof t&&t()}};A?h.send(c.data):h.send();return l},jsonp:function(c){var k=e();void 0!==c.initialValue&&k(c.initialValue);var m=c.callbackName||"_mithril_"+Math.round(1E16*Math.random())+ +"_"+l++,h=d.document.createElement("script");d[m]=function(e){h.parentNode.removeChild(h);k(n(c.type,e));"function"===typeof t&&t();delete d[m]};h.onerror=function(){h.parentNode.removeChild(h);k.error(Error("JSONP request failed"));"function"===typeof t&&t();delete d[m]};null==c.data&&(c.data={});c.url=p(c.url,c.data);c.data[c.callbackKey||"callback"]=m;h.src=g(c.url,c.data);d.document.documentElement.appendChild(h);return k},setCompletionCallback:function(c){t=c}}}(window,N),G=function(){var d= +[];return{subscribe:d.push.bind(d),unsubscribe:function(e){e=d.indexOf(e);-1