moved number generation to the radar model
[tech-radar.git] / src / models / radar.js
index 7e48b63..0b7f111 100644 (file)
@@ -1,23 +1,34 @@
 tr.models.Radar = function() {
-  var self, quadrants;
+  var self, quadrants, blipNumber;
 
+  blipNumber = 0;
   quadrants = { I: null, II: null, III: null, IV: null };
   self = {};
 
+  function setNumbers(blips) {
+    blips.forEach(function (blip) {
+      blip.setNumber(++blipNumber);
+    });
+  }
+
   self.setFirstQuadrant = function (quadrant) {
     quadrants.I = quadrant;
+    setNumbers(quadrants.I.blips());
   };
 
   self.setSecondQuadrant = function (quadrant) {
     quadrants.II = quadrant;
+    setNumbers(quadrants.II.blips());
   };
 
   self.setThirdQuadrant = function (quadrant) {
     quadrants.III = quadrant;
+    setNumbers(quadrants.III.blips());
   };
 
   self.setFourthQuadrant = function (quadrant) {
     quadrants.IV = quadrant;
+    setNumbers(quadrants.IV.blips());
   };
 
   function allQuadrants() {
@@ -38,6 +49,10 @@ tr.models.Radar = function() {
     }, []);
   }
 
+  self.hasQuadrants = function () {
+    return !!quadrants.I || !!quadrants.II || !!quadrants.III || !!quadrants.IV;
+  }
+
   self.cycles = function () {
     var cycleHash, cycleArray;
 
@@ -54,7 +69,7 @@ tr.models.Radar = function() {
       }
     }
 
-    return cycleArray.slice(0);
+    return cycleArray.slice(0).sort(function (a, b) { return a.order() - b.order(); });
   };
 
   self.quadrants = function () {