diff -r 13d9a532a0a7 -r 0386fb9efe27 client/annotviz/app/js/utils.js --- a/client/annotviz/app/js/utils.js Thu Jan 22 23:58:11 2015 +0100 +++ b/client/annotviz/app/js/utils.js Fri Jan 23 00:10:09 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 = {