js/startscreen.js
changeset 14 3aa6b9963de0
parent 13 3ba18138e37e
child 17 8ee8c9ea2a9f
--- a/js/startscreen.js	Fri Mar 22 17:54:46 2013 +0100
+++ b/js/startscreen.js	Wed Mar 27 17:42:35 2013 +0100
@@ -1,6 +1,21 @@
 var topicPoubelle = -13;
 
 function showData() {
+	
+	data.topiclabels.forEach(function(v) {
+		var words = _(v.words).map(function(v, k) {
+			return {
+				word: k,
+				weight: v
+			}
+		});
+		words.sort(function(a,b) {
+			return b.weight - a.weight;
+		})
+		data.topics[v.topic_id].words = words;
+	});
+	
+	console.log(data.topics);
     
     var ordertag = 0;
 
@@ -90,7 +105,7 @@
             return w.replace(/(\W)/g,'\\$1')
         }).join("|") + ')', "gim");
         topiclist.forEach(function(topic,i) {
-            var wordsToShow = topic.words.slice(0,8),
+            var wordsToShow = topic.words.slice(),
                 max = wordsToShow[0].weight,
                 min = Math.min(wordsToShow[wordsToShow.length - 1].weight, max - .01),
                 scale = 10 / (max - min);
@@ -358,6 +373,7 @@
     }
     
     loadJson("data/minutes.json", "minutes");
+    loadJson("data/topiclabels.json", "topiclabels");
     
     loadJson(
         solrUrl("MMSO", {q: "*:*", fl: "topic*,MMSO_id,multimediaSegment", rows: 250 }),
@@ -400,25 +416,8 @@
     
     loadFromTopicsBean("getTopicsNumber",false,false,function(topic_count) {
         for (var i = 0; i < topic_count; i++) {
-            data.topics.push(null);
+            data.topics.push({ index: i, words: [ { word: "(no label)", weight: 1 }] });
         }
-        data.topics.forEach(function(v, k) {
-            loadFromTopicsBean("getTopicDistribution",false,[k, 50, false],function(topic) {
-                var words = topic.match(/[^=,{]+=0.\d{0,8}/g);
-                data.topics[k] = {
-                    index: k,
-                    words: words.map(function(w) {
-                        var parts = w.split("=");
-                        return {
-                            word: parts[0].trim(),
-                            weight: parseFloat(parts[1])
-                        }
-                    })
-                }
-            });
-            
-        });
-        
     });
     
     loadFromTopicsBean("getTopWords","topwords",[200]);