@@ -167,7 +167,6 @@ function makeElement(e) {
169function update(node, curr, next) {
169function update(node, curr, next) {
170− console.log('overall update', curr.element.ctor, next.element.ctor);
171 if (node.tagName === 'A') { node = node.firstChild; }
170 if (node.tagName === 'A') { node = node.firstChild; }
172 if (curr.props.id === next.props.id) return false;
171 if (curr.props.id === next.props.id) return false;
173 if (curr.element.ctor !== next.element.ctor) {
172 if (curr.element.ctor !== next.element.ctor) {
@@ -189,27 +188,23 @@ function update(node, curr, next) {
191 case "Flow":
190 case "Flow":
192− console.log('flow update', nextE._0.ctor, currE._0.ctor);
193 if (nextE._0.ctor !== currE._0.ctor) {
191 if (nextE._0.ctor !== currE._0.ctor) {
194 node.parentNode.replaceChild(render(next),node);
192 node.parentNode.replaceChild(render(next),node);
195 return true;
193 return true;
197 var nexts = fromList(nextE._1);
195 var nexts = fromList(nextE._1);
198 var kids = node.childNodes;
196 var kids = node.childNodes;
199− console.log('flow length', nexts.length, kids.length);
200 if (nexts.length !== kids.length) {
197 if (nexts.length !== kids.length) {
201 node.parentNode.replaceChild(render(next),node);
198 node.parentNode.replaceChild(render(next),node);
202 return true;
199 return true;
204 var currs = fromList(currE._1);
201 var currs = fromList(currE._1);
205 var goDir = function(x) { return x; };
202 var goDir = function(x) { return x; };
207 switch(nextE._0.ctor) {
203 switch(nextE._0.ctor) {
208 case "DDown": case "DUp": goDir = goDown; break;
204 case "DDown": case "DUp": goDir = goDown; break;
209 case "DRight": case "DLeft": goDir = goRight; break;
205 case "DRight": case "DLeft": goDir = goRight; break;
210 case "DOut": case "DIn": goDir = goIn; break;
206 case "DOut": case "DIn": goDir = goIn; break;
212− console.log(currs, nexts);
213 for (var i = kids.length; i-- ;) {
208 for (var i = kids.length; i-- ;) {
214 update(kids[i],currs[i],nexts[i]);
209 update(kids[i],currs[i],nexts[i]);
215 goDir(kids[i]);
210 goDir(kids[i]);
@@ -230,7 +225,6 @@ function update(node, curr, next) {
230 setPos(nextE._0, next.props.width, next.props.height, node.firstChild);
225 setPos(nextE._0, next.props.width, next.props.height, node.firstChild);
232 case "Custom":
227 case "Custom":
233− console.log(currE.type, nextE.type);
234 if (currE.type === nextE.type) {
228 if (currE.type === nextE.type) {
235 nextE.update(node, currE.model, nextE.model);
229 nextE.update(node, currE.model, nextE.model);