js/startscreen.js
author veltr
Thu, 04 Apr 2013 17:44:59 +0200
changeset 17 8ee8c9ea2a9f
parent 14 3aa6b9963de0
child 19 685c406c7d8c
permissions -rw-r--r--
Added user tweets
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
8ee8c9ea2a9f Added user tweets
veltr
parents: 14
diff changeset
     1
var topicPoubelle = 13;
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
     2
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
     3
function showData() {
14
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     4
	
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     5
	data.topiclabels.forEach(function(v) {
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     6
		var words = _(v.words).map(function(v, k) {
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     7
			return {
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     8
				word: k,
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
     9
				weight: v
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    10
			}
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    11
		});
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    12
		words.sort(function(a,b) {
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    13
			return b.weight - a.weight;
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    14
		})
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    15
		data.topics[v.topic_id].words = words;
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
    16
	});
17
8ee8c9ea2a9f Added user tweets
veltr
parents: 14
diff changeset
    17
	    
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    18
    var ordertag = 0;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    19
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    20
    function secsToString(seconds) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    21
        var hours = Math.floor(seconds/3600),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    22
            minutes = Math.floor(seconds/60) % 60,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    23
            secs = Math.floor(seconds % 60);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    24
        function pad(n) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    25
            var r = n.toString();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    26
            while (r.length < 2) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    27
                r = "0" + r;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    28
            }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    29
            return r;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    30
        }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    31
        return (hours ? (hours + ":") : "") + pad(minutes) + ":" + pad(secs);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    32
    }
1
1f574d93e195 First tests
veltr
parents:
diff changeset
    33
    
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    34
    $(".duration").text(secsToString(data.duration));
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    35
  
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    36
    var nmmso = data.segments.length;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    37
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    38
    data.topics.forEach(function(topic) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    39
        topic.score = 0;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    40
        topic.weights = [];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    41
        for (var i = 0; i < nmmso; i++) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    42
            topic.weights.push(0);
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
    43
        }
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    44
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    45
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    46
    data.segments.forEach(function(mmso, i) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    47
        mmso.topics.forEach(function(t) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    48
            data.topics[t.topic].weights[i] = t.weight;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    49
            data.topics[t.topic].score += t.weight;
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
    50
        });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    51
        mmso.tweet_rate = mmso.tweet_count / mmso.duration; 
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    52
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    53
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    54
    var sortedTopics = data.topics.filter(function(t) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    55
        return t.index !== topicPoubelle;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    56
    }).sort(function(a,b) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    57
        return b.score - a.score;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    58
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    59
    
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    60
    var selectedWords = [], searchString = "", topicscache = {};
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    61
    
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    62
    function showTopicsForWord(word) {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    63
    	var topicweights = topicscache[word];
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    64
    	var topiclist = data.topics.filter(function(topic) {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    65
            return topicweights[topic.index] > .01 && topic.index !== topicPoubelle;
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    66
        });
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    67
        topiclist.sort(function(a,b) {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    68
            return topicweights[b.index] - topicweights[b.index]
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    69
        });
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    70
        showTopics(topiclist);
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    71
    }
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    72
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    73
    function wordFilter() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    74
        searchString = $(".keyword-search").val() || "",
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    75
        selectedWords = [];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    76
        if (searchString.length) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    77
            selectedWords.push(searchString);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    78
        }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    79
        if (selectedWords.length) {
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    80
        	var k = selectedWords.join(",");
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    81
        	if (typeof topicscache[k] === "undefined") {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    82
        		TopicsBean.topicsForKeywords(k,{
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    83
	                callback: function(topicweights) {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    84
	                    topicscache[k] = topicweights;
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    85
	                    showTopicsForWord(k);
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    86
	                }
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    87
	            });
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    88
        	} else {
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    89
        		showTopicsForWord(k);
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    90
        	}
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
    91
            
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    92
        } else {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    93
            showTopics(sortedTopics);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    94
        }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    95
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    96
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    97
    function showTopics(topiclist) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    98
        var topicHtmls = ["", "", ""];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
    99
        if (searchString.length) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   100
            var searchStringRx = new RegExp('(' + searchString.replace(/(\W)/g,'\\$1') + ')', "gim");
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
   101
        }
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   102
        var replaceRx = new RegExp('(' + selectedWords.map(function(w) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   103
            return w.replace(/(\W)/g,'\\$1')
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   104
        }).join("|") + ')', "gim");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   105
        topiclist.forEach(function(topic,i) {
14
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
   106
            var wordsToShow = topic.words.slice(),
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   107
                max = wordsToShow[0].weight,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   108
                min = Math.min(wordsToShow[wordsToShow.length - 1].weight, max - .01),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   109
                scale = 10 / (max - min);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   110
            var li = '<li class="shadow-block topic" data-topic-id="'
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   111
                + topic.index
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   112
                + '" data-timestamp="999999"><ul class="topic-words">'
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   113
                + wordsToShow.reduce(function(memwords, word) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   114
                    return memwords
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   115
                        + '<li style="font-size: '
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   116
                        + ( 10 + scale * (word.weight - min) )
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   117
                        + 'px;">'
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   118
                        + ( selectedWords.length
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   119
                            ? word.word.replace(replaceRx,'<span class="highlight">$1</span>')
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   120
                            : word.word )
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   121
                        + '</li>';
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   122
                },"")
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   123
                + '</ul></li>';
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   124
            topicHtmls[i % 3] += li;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   125
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   126
        var tb = $(".topics-block");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   127
        tb.html(topicHtmls.reduce(function(mem,html) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   128
           return mem + '<ul class="topic-column">' + html + '</ul>' 
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   129
        },""));
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   130
        tb.css("top",0);
1
1f574d93e195 First tests
veltr
parents:
diff changeset
   131
        
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   132
        showTopicViz();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   133
    }
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   134
    
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   135
    var allwords = [];
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   136
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   137
    data.topics.forEach(function(topic) {
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   138
        topic.words.forEach(function(topicword) {
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   139
        	topicword.word.split(" ").filter(function(w) {
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   140
        		return w.length > 2;
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   141
        	}).forEach(function(w) {
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   142
        		allwords.push(w);
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   143
        	});
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   144
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   145
    });
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   146
        
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   147
    data.topwords.forEach(function(v, k) {
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   148
    	v.split(" ").filter(function(w) {
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   149
    		return w.length > 2;
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   150
    	}).forEach(function(w) {
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   151
    		allwords.push(w);
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   152
    	});
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   153
    });
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   154
        
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   155
    var allwords = _(allwords).uniq();
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   156
        
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   157
    allwords.sort();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   158
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   159
    $(".keyword-search").autocomplete({
7
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   160
        source: allwords,
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   161
        change: function() {
13
3ba18138e37e Removed Tagcloud
veltr
parents: 12
diff changeset
   162
        	window.setTimeout(wordFilter,0);
7
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   163
        }
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   164
    }).on("keyup change paste", wordFilter);
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   165
// */
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   166
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   167
    function showTopicViz() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   168
        var selectedBlocks = $(".topic.selected, .topic.hover"),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   169
            sbl = selectedBlocks.length,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   170
            topicBlocks = $(".topic");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   171
        if (!sbl && topicBlocks.length < sortedTopics.length) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   172
            selectedBlocks = topicBlocks;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   173
            sbl = selectedBlocks.length;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   174
        }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   175
        var topicsAndColors = [];
7
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   176
        selectedBlocks.each(function() {
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   177
            var el = $(this),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   178
                topicid = parseInt(el.attr("data-topic-id"));
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   179
            topicsAndColors.push({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   180
                "$": el,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   181
                timestamp: parseInt(el.attr("data-timestamp")),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   182
                hovered: el.hasClass("hover"),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   183
                id: topicid,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   184
                topic: data.topics[topicid]
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   185
            });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   186
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   187
        topicsAndColors.sort(function(a,b) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   188
           return ( a.timestamp - b.timestamp ) || ( a.id - b.id );
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   189
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   190
        topicBlocks.css("background","");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   191
        topicsAndColors.forEach(function(topic, i) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   192
            topic.color = topic.hovered ? "#ffff00" : colorset[i % colorset.length];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   193
            topic.$.css("background", topic.color);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   194
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   195
        
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   196
        for (var i = 0; i < nmmso; i++) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   197
            var opacity = 0,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   198
                rgb = [0,0,0];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   199
            topicsAndColors.forEach(function(topic) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   200
                var c = Raphael.getRGB(topic.color),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   201
                    o = topic.topic.weights[i];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   202
                rgb[0] += c.r * o;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   203
                rgb[1] += c.g * o;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   204
                rgb[2] += c.b * o;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   205
                opacity += o;
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   206
            });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   207
            if (opacity) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   208
                color = Raphael.rgb.apply(Raphael, rgb.map(function(c) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   209
                    return c/opacity;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   210
                }));
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   211
                segmentrects[i].show();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   212
                segmentrects[i].attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   213
                    fill: color,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   214
                    opacity: .5 + .5 * opacity
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   215
                });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   216
            } else {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   217
                segmentrects[i].hide();
1
1f574d93e195 First tests
veltr
parents:
diff changeset
   218
            }
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
   219
        }
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
   220
        
12
81a8bb1d872a ipad bugfixes
veltr
parents: 11
diff changeset
   221
        var hash = "#visibletopics="
7
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   222
        	+ Array.prototype.join.call($(".topic:visible").map(function(){return $(this).attr("data-topic-id")}))
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   223
        	+ "&selectedtopics="
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   224
        	+ Array.prototype.slice.call(topicsAndColors.map(function(t){return t.id}))
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   225
        	+ "&keywords="
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   226
        	+ selectedWords.map(function(w) {
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   227
        		return encodeURIComponent(w);
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   228
        	}).join(",");
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   229
        	
12
81a8bb1d872a ipad bugfixes
veltr
parents: 11
diff changeset
   230
    	document.querySelector(".play-button").hash = hash;
7
a2d5b669f663 new data access method
veltr
parents: 6
diff changeset
   231
        
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   232
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   233
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   234
    var jqsvg = $(".start-svg");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   235
        paper = new Raphael(jqsvg[0]),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   236
        ph = jqsvg.height(),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   237
        pw = jqsvg.width(),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   238
        yscale = (ph - 20) / data.duration,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   239
        mx = Math.max.apply(Math, data.minutes.map(function(s) { return s.count})),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   240
        xscale = (pw - 50)/mx;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   241
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   242
    var segmentrects = data.segments.map(function(mmso) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   243
        var rect = paper.rect(0, yscale * mmso.start, pw - 50, 1+yscale * mmso.duration);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   244
        rect.attr({stroke: "none"});
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   245
        return rect;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   246
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   247
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   248
    var d = "M" + data.minutes.map(function(s) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   249
            var x = xscale * s.count;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   250
            return x
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   251
                + ","
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   252
                + yscale * (s.from + 20)
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   253
                + "L"
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   254
                + x
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   255
                + ","
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   256
                + yscale * (s.from + 40);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   257
        }).join("L");
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
   258
        
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   259
    paper.path(d).attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   260
        "stroke-width": 4,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   261
        "stroke": "#000000",
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   262
        opacity: .5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   263
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   264
    paper.path(d).attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   265
        "stroke-width": 1,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   266
        "stroke": "#ffffff"
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   267
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   268
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   269
    for (var i=0; i < data.duration; i += 1800) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   270
        var y = yscale * i;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   271
        paper.path("M0," + y + "L" + pw + "," + y).attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   272
            stroke: "#666"
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   273
        });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   274
        paper.text(pw - 2, y + 6, secsToString(i)).attr({
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   275
            "text-anchor": "end",
26a901771957 Black Background
veltr
parents: 3
diff changeset
   276
            "fill": "#ffffff"
26a901771957 Black Background
veltr
parents: 3
diff changeset
   277
        });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   278
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   279
    paper.text(pw-2, ph-14, secsToString(data.duration)).attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   280
        "text-anchor": "end",
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   281
        "fill": "#ffffff"
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   282
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   283
    paper.path("M0," + (ph-20) + "L" + pw + "," + (ph-20)).attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   284
        stroke: "#666"
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   285
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   286
    paper.text(0, ph - 14,"tweets/min.").attr({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   287
        "text-anchor": "start",
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   288
        "fill": "#ffffff"
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   289
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   290
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   291
    for (var k = 2; k < 6; k++) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   292
        var x = xscale * k * 1000;
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   293
        paper.path("M" + x + ",0L" + x + "," + (ph - 10)).attr({
26a901771957 Black Background
veltr
parents: 3
diff changeset
   294
            stroke: "#666"
26a901771957 Black Background
veltr
parents: 3
diff changeset
   295
        });
26a901771957 Black Background
veltr
parents: 3
diff changeset
   296
        
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   297
        paper.text(x-2, ph - 14,k+"k").attr({
4
26a901771957 Black Background
veltr
parents: 3
diff changeset
   298
            "fill": "#ffffff"
2
0d947d167ec5 More tests
veltr
parents: 1
diff changeset
   299
        });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   300
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   301
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   302
    wordFilter();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   303
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   304
    $(".topics-block").on("mouseenter", ".topic", function() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   305
        var el = $(this);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   306
        el.addClass("hover");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   307
        showTopicViz();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   308
    }).on("mouseleave", ".topic", function() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   309
        $(this).removeClass("hover");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   310
        showTopicViz();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   311
    }).on("click", ".topic", function() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   312
        var el = $(this);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   313
        $(this).toggleClass("selected");
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   314
        el.attr("data-timestamp", el.hasClass("selected") ? ++ordertag : 999999);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   315
        showTopicViz();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   316
    });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   317
}
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   318
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   319
var data = { duration: 10200, topics: [] },
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   320
    colorset = ["#E41A1C", "#377EB8", "#4DAF4A", "#984EA3", "#FF7F00", "#A65628", "#F781BF"];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   321
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   322
$(function() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   323
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   324
    $(".topics-block").draggable({axis:"y"});
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   325
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   326
    var loadedSteps = 0,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   327
        stepsToFullyLoaded = 0;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   328
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   329
    function checkIfLoaded() {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   330
        loadedSteps++;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   331
        if (loadedSteps >= stepsToFullyLoaded) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   332
            setTimeout(showData,0);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   333
        }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   334
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   335
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   336
    function loadJson(url, propname, callback) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   337
        stepsToFullyLoaded++;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   338
        $.getJSON(url, function(d) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   339
            if (callback) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   340
                var res = callback(d);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   341
            } else {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   342
                var res = d;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   343
            }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   344
            if (propname) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   345
                data[propname] = res;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   346
            }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   347
            checkIfLoaded();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   348
        });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   349
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   350
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   351
    function solrUrl(table, params) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   352
        return "http://159.217.144.101:8050/sia-solr/" + table + "/select?" + $.param(params) + "&wt=json&json.wrf=?";
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   353
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   354
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   355
    function loadFromTopicsBean(method, propname, args, callback) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   356
        stepsToFullyLoaded++;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   357
        var arg = args || [],
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   358
            cb = function(d) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   359
                if (callback) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   360
                    var res = callback(d);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   361
                } else {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   362
                    var res = d;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   363
                }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   364
                if (propname) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   365
                    data[propname] = res;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   366
                }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   367
                checkIfLoaded();
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   368
            }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   369
        arg.push({callback: cb});
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   370
        TopicsBean[method].apply(TopicsBean,arg);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   371
    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   372
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   373
    loadJson("data/minutes.json", "minutes");
14
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
   374
    loadJson("data/topiclabels.json", "topiclabels");
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   375
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   376
    loadJson(
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   377
        solrUrl("MMSO", {q: "*:*", fl: "topic*,MMSO_id,multimediaSegment", rows: 250 }),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   378
        "segments",
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   379
        function(d) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   380
            return d.response.docs.map(function(mmso) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   381
                var tc = mmso.multimediaSegment.match(/\d+/g),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   382
                    start = parseInt(tc[0]),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   383
                    end = parseInt(tc[1]),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   384
                    topics = [];
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   385
                for (var k in mmso) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   386
                    if (k.substr(0,5) === "topic" && mmso[k] > .01) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   387
                        topics.push({
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   388
                            topic: parseInt(k.substr(5)),
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   389
                            weight: mmso[k]
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   390
                        })
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   391
                    }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   392
                }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   393
                topics.sort(function(a,b) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   394
                    return b.weight - a.weight;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   395
                });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   396
/*                topics = topics.filter(function(t) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   397
                    return t.topic !== topicPoubelle
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   398
                }).slice(0,1);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   399
                topics[0].weight = 1; */
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   400
                return {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   401
                    id: mmso.MMSO_id,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   402
                    start: start,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   403
                    end: end,
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   404
                    duration: end - start,
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   405
                    topics: topics
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   406
                }
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   407
            }).sort(function(a,b) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   408
                return a.start - b.start;
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   409
            });
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   410
        })
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   411
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   412
    dwr.engine.setTimeout(60000);
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   413
    TopicsBean._path = "http://159.217.144.101:8050/sia-solr/dwr";
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   414
    
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   415
    loadFromTopicsBean("getTopicsNumber",false,false,function(topic_count) {
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   416
        for (var i = 0; i < topic_count; i++) {
14
3aa6b9963de0 Added topic labels
veltr
parents: 13
diff changeset
   417
            data.topics.push({ index: i, words: [ { word: "(no label)", weight: 1 }] });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   418
        }
1
1f574d93e195 First tests
veltr
parents:
diff changeset
   419
    });
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   420
    
6
14dd1980b0b9 MMSO Caching
veltr
parents: 5
diff changeset
   421
    loadFromTopicsBean("getTopWords","topwords",[200]);
5
490e4d1b6fee started work on "play" screen
veltr
parents: 4
diff changeset
   422
    
1
1f574d93e195 First tests
veltr
parents:
diff changeset
   423
});