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