diff --git a/mithril.js b/mithril.js index 4aa0ae29..91e870e5 100644 --- a/mithril.js +++ b/mithril.js @@ -605,7 +605,7 @@ var coreRenderer = function($window) { if (oldIndex != null) { var movable = old[oldIndex] var shouldRecycle = (pool != null && oldIndex >= old.length - pool.length) || ((pool == null) && recycling) - updateNode(parent, movable, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), recycling, ns) + updateNode(parent, movable, v, hooks, getNextSibling(old, oldEnd + 1, nextSibling), shouldRecycle, ns) insertNode(parent, toFragment(movable), nextSibling) old[oldIndex].skip = true if (movable.dom != null) nextSibling = movable.dom diff --git a/mithril.min.js b/mithril.min.js index 18f6fe49..fbaa5741 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -1,45 +1,45 @@ -(function(){function w(a,c,e,f,n,k){return{tag:a,key:c,attrs:e,children:f,text:n,dom:k,domSize:void 0,state:void 0,events:void 0,instance:void 0,skip:!1}}function O(a){for(var c in a)if(E.call(a,c))return!1;return!0}function z(a){var c=arguments[1],e=2;if(null==a||"string"!==typeof a&&"function"!==typeof a&&"function"!==typeof a.view)throw Error("The selector must be either a string or a component.");if("string"===typeof a){var f;if(!(f=P[a])){var n="div";for(var k=[],g={};f=S.exec(a);){var q=f[1], -m=f[2];""===q&&""!==m?n=m:"#"===q?g.id=m:"."===q?k.push(m):"["===f[3][0]&&((q=f[6])&&(q=q.replace(/\\(["'])/g,"$1").replace(/\\\\/g,"\\")),"class"===f[4]?k.push(q):g[f[4]]=""===q?q:q||!0)}0b.indexOf("?")?"?":"&";b+=e+c}return b}function g(b){try{return""!==b?JSON.parse(b):null}catch(v){throw Error(b);}}function q(b){return b.responseText}function m(b,a){if("function"===typeof b)if(Array.isArray(a))for(var c=0;cb.indexOf("?")?"?":"&";b+=e+c}return b}function g(b){try{return""!==b?JSON.parse(b):null}catch(w){throw Error(b);}}function p(b){return b.responseText}function m(b,a){if("function"===typeof b)if(Array.isArray(a))for(var c=0;cl.status||304===l.status||V.test(b.url))c(m(b.type,a));else{var f=Error(l.responseText);f.code=l.status;f.response=a;e(f)}}catch(W){e(W)}};f&&null!=b.data?l.send(b.data):l.send()});return!0===b.background?v:t(v)},jsonp:function(b,g){var t=e();b=f(b,g);var q=new c(function(c,e){var f=b.callbackName||"_mithril_"+ -Math.round(1E16*Math.random())+"_"+l++,g=a.document.createElement("script");a[f]=function(e){g.parentNode.removeChild(g);c(m(b.type,e));delete a[f]};g.onerror=function(){g.parentNode.removeChild(g);e(Error("JSONP request failed"));delete a[f]};null==b.data&&(b.data={});b.url=n(b.url,b.data);b.data[b.callbackKey||"callback"]=f;g.src=k(b.url,b.data);a.document.documentElement.appendChild(g)});return!0===b.background?q:t(q)},setCompletionCallback:function(b){t=b}}}(window,r),R=function(a){function c(h, +"function"===typeof b.config&&(l=b.config(l,b)||l);l.onreadystatechange=function(){if(!t&&4===l.readyState)try{var a=b.extract!==p?b.extract(l,b):b.deserialize(b.extract(l,b));if(200<=l.status&&300>l.status||304===l.status||V.test(b.url))c(m(b.type,a));else{var f=Error(l.responseText);f.code=l.status;f.response=a;e(f)}}catch(W){e(W)}};f&&null!=b.data?l.send(b.data):l.send()});return!0===b.background?w:t(w)},jsonp:function(b,g){var t=e();b=f(b,g);var p=new c(function(c,e){var f=b.callbackName||"_mithril_"+ +Math.round(1E16*Math.random())+"_"+l++,g=a.document.createElement("script");a[f]=function(e){g.parentNode.removeChild(g);c(m(b.type,e));delete a[f]};g.onerror=function(){g.parentNode.removeChild(g);e(Error("JSONP request failed"));delete a[f]};null==b.data&&(b.data={});b.url=n(b.url,b.data);b.data[b.callbackKey||"callback"]=f;g.src=k(b.url,b.data);a.document.documentElement.appendChild(g)});return!0===b.background?p:t(p)},setCompletionCallback:function(b){t=b}}}(window,r),R=function(a){function c(h, d){if(h.state!==d)throw Error("`vnode.state` must not be modified");}function e(h){var d=h.state;try{return this.apply(d,arguments)}finally{c(h,d)}}function f(h,d,b,a,c,e,f){for(;b=u&&D>=p;){var x= -d[u],r=a[p];if(x!==r||c)if(null==x)u++;else if(null==r)p++;else if(x.key===r.key){var C=null!=q&&u>=d.length-q.length||null==q&&c;u++;p++;m(h,x,r,e,t(d,u,g),C,k);c&&x.tag===r.tag&&b(h,l(x),g)}else if(x=d[v],x!==r||c)if(null==x)v--;else if(null==r)p++;else if(x.key===r.key)C=null!=q&&v>=d.length-q.length||null==q&&c,m(h,x,r,e,t(d,v+1,g),C,k),(c||p=u&&D>=p;){x=d[v];r=a[D];if(x!==r||c)if(null==x)v--;else{if(null!=r)if(x.key=== -r.key)C=null!=q&&v>=d.length-q.length||null==q&&c,m(h,x,r,e,t(d,v+1,g),C,k),c&&x.tag===r.tag&&b(h,l(x),g),null!=x.dom&&(g=x.dom),v--;else{if(!I){I=d;x=v;C={};var w;for(w=0;w=u&&C>=q;){var x= +d[u],r=a[q];if(x!==r||c)if(null==x)u++;else if(null==r)q++;else if(x.key===r.key){var D=null!=p&&u>=d.length-p.length||null==p&&c;u++;q++;m(h,x,r,e,t(d,u,g),D,k);c&&x.tag===r.tag&&b(h,l(x),g)}else if(x=d[w],x!==r||c)if(null==x)w--;else if(null==r)q++;else if(x.key===r.key)D=null!=p&&w>=d.length-p.length||null==p&&c,m(h,x,r,e,t(d,w+1,g),D,k),(c||q=u&&C>=q;){x=d[w];r=a[C];if(x!==r||c)if(null==x)w--;else{if(null!=r)if(x.key=== +r.key)D=null!=p&&w>=d.length-p.length||null==p&&c,m(h,x,r,e,t(d,w+1,g),D,k),c&&x.tag===r.tag&&b(h,l(x),g),null!=x.dom&&(g=x.dom),w--;else{if(!I){I=d;D=w;x={};var v;for(v=0;v=d.length-p.length||null==p&&c,m(h,v,r,e,t(d,w+1,g),D,k),b(h,l(v),g),d[x].skip=!0,null!=v.dom&&(g=v.dom)):g=n(h,r,e,k,g))}C--}else w--,C--;if(C