client/annotviz/app/js/utils.js
changeset 124 b5697bcdbaff
parent 122 3b11017a76a4
child 125 f9dd7bfed997
child 128 9f2334598088
--- a/client/annotviz/app/js/utils.js	Thu Jan 22 16:16:54 2015 +0100
+++ b/client/annotviz/app/js/utils.js	Fri Jan 23 00:02:20 2015 +0100
@@ -7,6 +7,9 @@
 
 'use strict';
 
+var PIXI = require('pixi');
+var _ = require('lodash');
+
 function formatTime (ts) {
 	var hours = Math.floor( (ts/1000) / 3600 ) % 24;
 	var minutes = Math.floor( (ts/1000) / 60 ) % 60;
@@ -22,7 +25,7 @@
 function getAnnotCategories(urlCategories, annotCategories) {
 
     var jsonLoader = new PIXI.JsonLoader(urlCategories, true);
-    
+
     jsonLoader.on('loaded', function(res) {
         var data = res.target.json;
 
@@ -37,8 +40,20 @@
             }
             var categoriesJson = session.categories_json;
             annotCat.order = categoriesJson.order;
+			var catList = _.clone(categoriesJson.categories);
+			while(catList.length > 0) {
+				var cat = catList.pop();
+				if(cat.code) {
+					annotCat.colors[cat.code] = colorToHex(cat.color);
+				}
+				if(cat.subcategories) {
+					catList = catList.concat(cat.subcategories);
+				}
+			}
             categoriesJson.categories.forEach(function(cat) {
-                annotCat.colors[cat.code] = colorToHex(cat.color);
+				if(cat.code) {
+                	annotCat.colors[cat.code] = colorToHex(cat.color);
+				}
             });
             annotCat.defaultColor = categoriesJson.defaultColor || "#536991";
             annotCategories.push(annotCat);
@@ -46,9 +61,9 @@
         console.log(annotCategories);
         annotCategories[0].order.push("default");
     });
-    
+
     jsonLoader.load();
-    
+
 }
 
 module.exports = {