From 646ed3c7a26852dcbf9f48c744c0128e1129fdc2 Mon Sep 17 00:00:00 2001 From: Bruno Trecenti Date: Thu, 27 Feb 2014 09:36:35 -0300 Subject: [PATCH] moved svg creation and append to the graphing radar --- examples/default.html | 2 +- src/graphing/radar.js | 13 +++++++++---- test/graphing/radar-spec.js | 32 ++++++++++++++------------------ 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/examples/default.html b/examples/default.html index 398dafe..3a956a8 100644 --- a/examples/default.html +++ b/examples/default.html @@ -192,7 +192,7 @@ radar.setThirdQuadrant(platformsQuadrant); radar.setFourthQuadrant(languageFramework); - var radarGraph = new tr.graphing.Radar(d3.select("body").append("svg"), 800, radar); + var radarGraph = new tr.graphing.Radar(800, radar); radarGraph.plot(); diff --git a/src/graphing/radar.js b/src/graphing/radar.js index 2ae2f4d..0b3eb00 100644 --- a/src/graphing/radar.js +++ b/src/graphing/radar.js @@ -1,9 +1,11 @@ -tr.graphing.Radar = function (svg, size, radar) { - var self, fib; - self = {}; +tr.graphing.Radar = function (size, radar) { + var self, fib, svg; + + svg = d3.select("body").append("svg"); fib = new tr.util.Fib(); - svg.attr('width', size).attr('height', size); + self = {}; + self.svg = svg; function center () { return Math.round(size/2); @@ -156,9 +158,12 @@ tr.graphing.Radar = function (svg, size, radar) { self.plot = function () { var cycles, quadrants; + cycles = radar.cycles().reverse(); quadrants = radar.quadrants(); + svg.attr('width', size).attr('height', size); + plotCircles(cycles); plotLines(); plotTexts(cycles); diff --git a/test/graphing/radar-spec.js b/test/graphing/radar-spec.js index f02ef06..5d38842 100644 --- a/test/graphing/radar-spec.js +++ b/test/graphing/radar-spec.js @@ -1,10 +1,6 @@ describe('tr.graphing.Radar', function () { var radar; - function buildSvg() { - return d3.select("body").append("svg"); - } - beforeEach(function () { radar = new tr.models.Radar(); spyOn(radar, 'cycles').andReturn([]); @@ -12,10 +8,12 @@ describe('tr.graphing.Radar', function () { it('sets the size', function () { var svg, radarGraph; - svg = buildSvg(); + + radarGraph = new tr.graphing.Radar(500, radar); + svg = radarGraph.svg; spyOn(svg, 'attr').andReturn(svg); - radarGraph = new tr.graphing.Radar(svg, 500, radar); + radarGraph.plot(); expect(svg.attr).toHaveBeenCalledWith('width', 500); expect(svg.attr).toHaveBeenCalledWith('height', 500); @@ -23,14 +21,14 @@ describe('tr.graphing.Radar', function () { describe('lines', function () { it('plots a vertical line in the center', function () { - var svg, radarGraph; + var radarGraph, svg; - svg = buildSvg(); + radarGraph = new tr.graphing.Radar(500, radar); + + svg = radarGraph.svg; spyOn(svg, 'append').andReturn(svg); spyOn(svg, 'attr').andReturn(svg); - radarGraph = new tr.graphing.Radar(svg, 500, radar); - radarGraph.plot(); expect(svg.append).toHaveBeenCalledWith('line'); @@ -44,12 +42,11 @@ describe('tr.graphing.Radar', function () { it('plots a horizontal line in the center', function () { var svg, radarGraph; - svg = buildSvg(); + radarGraph = new tr.graphing.Radar(500, radar); + svg = radarGraph.svg; spyOn(svg, 'append').andReturn(svg); spyOn(svg, 'attr').andReturn(svg); - radarGraph = new tr.graphing.Radar(svg, 500, radar); - radarGraph.plot(); expect(svg.append).toHaveBeenCalledWith('line'); @@ -67,16 +64,15 @@ describe('tr.graphing.Radar', function () { beforeEach(function () { var radar; - svg = buildSvg(); - spyOn(svg, 'append').andReturn(svg); - spyOn(svg, 'attr').andReturn(svg); - radar = new tr.models.Radar(); spyOn(radar, 'cycles').andReturn([ new tr.models.Cycle('Adopt'), new tr.models.Cycle('Hold') ]); - radarGraph = new tr.graphing.Radar(svg, 500, radar); + radarGraph = new tr.graphing.Radar(500, radar); + svg = radarGraph.svg; + spyOn(svg, 'append').andReturn(svg); + spyOn(svg, 'attr').andReturn(svg); }); it('plots the circles for the cycles', function () { -- 2.39.2