From 330da451f2a8580b1aa98916a32d86f4203573fb Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Fri, 16 Nov 2012 11:34:20 -0500 Subject: [PATCH] Minimize functional tricks in connection --- js/iD/Connection.js | 34 +++++++++++++++++----------------- js/iD/renderer/Map.js | 22 +++++++--------------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/js/iD/Connection.js b/js/iD/Connection.js index 0c5474d7a..32c600de9 100755 --- a/js/iD/Connection.js +++ b/js/iD/Connection.js @@ -15,7 +15,9 @@ iD.Connection = function() { } function loadFromURL(url, callback) { - d3.xml(url, parse(callback)); + d3.xml(url, function(err, dom) { + callback(parse(dom)); + }); } function getNodes(obj) { @@ -81,24 +83,22 @@ iD.Connection = function() { return iD.Entity(o); } - function parse(callback) { - return function(err, dom) { - if (!dom.childNodes) return callback(new Error('Bad request')); - var root = dom.childNodes[0]; - var entities = {}; - refNodes = {}; - var addEntity = function (obj) { - var o = objectData(obj); - if (o.type === 'node') o._poi = !refNodes[o.id]; - entities[o.id] = o; - }; + function parse(dom) { + if (!dom.childNodes) return new Error('Bad request'); + var root = dom.childNodes[0]; + var entities = {}; + refNodes = {}; + function addEntity(obj) { + var o = objectData(obj); + if (o.type === 'node') o._poi = !refNodes[o.id]; + entities[o.id] = o; + } - _.forEach(root.getElementsByTagName('way'), addEntity); - _.forEach(root.getElementsByTagName('node'), addEntity); - _.forEach(root.getElementsByTagName('relation'), addEntity); + _.forEach(root.getElementsByTagName('way'), addEntity); + _.forEach(root.getElementsByTagName('node'), addEntity); + _.forEach(root.getElementsByTagName('relation'), addEntity); - callback(iD.Graph(entities)); - }; + return iD.Graph(entities); } connection.bboxFromAPI = bboxFromAPI; diff --git a/js/iD/renderer/Map.js b/js/iD/renderer/Map.js index 53f93ef8d..d1f1be896 100755 --- a/js/iD/renderer/Map.js +++ b/js/iD/renderer/Map.js @@ -19,10 +19,7 @@ iD.Map = function(elem) { } function roundCoords(c) { - return [ - Math.floor(c[0]), - Math.floor(c[1]) - ]; + return [Math.floor(c[0]), Math.floor(c[1])]; } var map = {}, @@ -103,9 +100,12 @@ iD.Map = function(elem) { var tileclient = iD.Tiles(tilegroup, projection); // For one-way roads, find the length of a triangle - var arrow = surface.append('text').text('►'); - var alength = arrow.node().getComputedTextLength(); - arrow.remove(); + var alength = (function() { + var arrow = surface.append('text').text('►'); + var alength = arrow.node().getComputedTextLength(); + arrow.remove(); + return alength; + })(); function classActive(d) { return d.id === selection; } @@ -171,14 +171,6 @@ iD.Map = function(elem) { hit_g.selectAll('rect.handle').remove(); } - function hideFills() { - fill_g.selectAll('path').remove(); - } - - function hideMarkers() { - hit_g.selectAll('g.marker').remove(); - } - function drawFills(areas) { var fills = fill_g.selectAll('path').data(areas, key); fills.exit().remove();