Removed Tagcloud
authorveltr
Fri, 22 Mar 2013 17:54:46 +0100
changeset 13 3ba18138e37e
parent 12 81a8bb1d872a
child 14 3aa6b9963de0
Removed Tagcloud
css/startscreen.css
js/startscreen.js
startscreen-frame.html
startscreen.html
--- a/css/startscreen.css	Fri Mar 22 17:03:53 2013 +0100
+++ b/css/startscreen.css	Fri Mar 22 17:54:46 2013 +0100
@@ -59,41 +59,13 @@
     float: left; background: #333333; /*box-shadow: 1px 1px 2px #000;*/ margin: 0 8px 8px 0;
 }
 
-.description-block {
-    width: 240px; height: 166px; margin-left: 8px;
-}
-
-.description-block p {
-    margin: 8px; font-size: 12px;
-}
-
-.topwords-block {
-    width: 748px; height: 154px; overflow: hidden; padding: 6px;
-}
-
-.topwords-list {
-    
-}
-
-.topwords-list li, .topic-words li {
+.topic-words li {
     display: inline-block; color: #fff; padding: 0 6px; margin-right: 3px;
     font-size: 14px; line-height: 26px;
 }
 
-.topwords-block li {
-    cursor: pointer;
-}
-
-.topwords-block li:hover, .topwords-block li.selected, .topic-words li.selected {
-    color: #000000; background: #FFFFFF;
-}
-
-.topwords-block li.selected:hover {
-    background: #999; color: #fff;
-}
-
 .start-bottom {
-    position: absolute; top: 256px; bottom: 0; overflow: hidden; width: 100%;
+    position: absolute; top: 82px; bottom: 0; overflow: hidden; width: 100%;
 }
 
 .start-dataviz {
--- a/js/startscreen.js	Fri Mar 22 17:03:53 2013 +0100
+++ b/js/startscreen.js	Fri Mar 22 17:54:46 2013 +0100
@@ -19,12 +19,7 @@
     }
     
     $(".duration").text(secsToString(data.duration));
-    
-    $(".topwords-list").on("click", "li", function() {
-        var el = $(this).toggleClass("selected");
-        wordFilter();
-    });
-    
+  
     var nmmso = data.segments.length;
     
     data.topics.forEach(function(topic) {
@@ -49,52 +44,38 @@
         return b.score - a.score;
     });
     
-    var selectedWords = [], searchString = "";
+    var selectedWords = [], searchString = "", topicscache = {};
+    
+    function showTopicsForWord(word) {
+    	var topicweights = topicscache[word];
+    	var topiclist = data.topics.filter(function(topic) {
+            return topicweights[topic.index] > .01 && topic.index !== topicPoubelle;
+        });
+        topiclist.sort(function(a,b) {
+            return topicweights[b.index] - topicweights[b.index]
+        });
+        showTopics(topiclist);
+    }
     
     function wordFilter() {
-        var selectedLis = $(".topwords-list li.selected");
         searchString = $(".keyword-search").val() || "",
         selectedWords = [];
         if (searchString.length) {
             selectedWords.push(searchString);
         }
-        selectedLis.each(function() {
-            selectedWords.push($(this).text().trim());
-        });
         if (selectedWords.length) {
-        /*
-            var topiclist = data.topics.filter(function(topic) {
-                if (topic.index === topicPoubelle) {
-                    return false;
-                }
-                var found = false,
-                    relevance = 0;
-                var foundWords = selectedWords.map(function() { return false });
-                topic.words.forEach(function(topicword) {
-                    selectedWords.forEach(function(selectedword, k) {
-                        if (topicword.word.search(selectedword) !== -1) {
-                            found = true;
-                            relevance += (.5 + topicword.weight);
-                        }
-                    });
-                });
-                topic.relevance = relevance;
-                return found;
-            }).sort(function(a,b) {
-                return b.relevance - a.relevance;
-            });
-            */
-            TopicsBean.topicsForKeywords(selectedWords.join(","),{
-                callback: function(topicweights) {
-                    var topiclist = data.topics.filter(function(topic) {
-                        return topicweights[topic.index] > .01 && topic.index !== topicPoubelle;
-                    });
-                    topiclist.sort(function(a,b) {
-                        return topicweights[b.index] - topicweights[b.index]
-                    });
-                    showTopics(topiclist);
-                }
-            });
+        	var k = selectedWords.join(",");
+        	if (typeof topicscache[k] === "undefined") {
+        		TopicsBean.topicsForKeywords(k,{
+	                callback: function(topicweights) {
+	                    topicscache[k] = topicweights;
+	                    showTopicsForWord(k);
+	                }
+	            });
+        	} else {
+        		showTopicsForWord(k);
+        	}
+            
         } else {
             showTopics(sortedTopics);
         }
@@ -104,15 +85,6 @@
         var topicHtmls = ["", "", ""];
         if (searchString.length) {
             var searchStringRx = new RegExp('(' + searchString.replace(/(\W)/g,'\\$1') + ')', "gim");
-            $(".topwords-list li").each(function() {
-                var el = $(this);
-                el.html(el.text().replace(searchStringRx,'<span class="highlight">$1</span>'));
-            });
-        } else {
-            $(".topwords-list li").each(function() {
-                var el = $(this);
-                el.text(el.text());
-            });
         }
         var replaceRx = new RegExp('(' + selectedWords.map(function(w) {
             return w.replace(/(\W)/g,'\\$1')
@@ -146,90 +118,38 @@
         
         showTopicViz();
     }
-/*        
-        var topwords = [], globwords = {};
-        
-        data.topics.forEach(function(topic) {
-            topic.words.forEach(function(word) {
-                globwords[word.word] = word.weight + (globwords[word.word] || 0)
-            });
-        })
-        
-        for (var w in globwords) {
-            topwords.push({
-                word : w,
-                weight : globwords[w]
-            });
-        }
-        topwords.sort(function(a, b) {
-            return b.weight - a.weight;
-        });
-        
-        $(".keyword-search").autocomplete({
-            source: topwords.map(function(w) { return w.word })
-        }).on("keyup change paste", wordFilter);
- */
-// /*
-    var globwords = {};
+    
+    var allwords = [];
     
     data.topics.forEach(function(topic) {
         topic.words.forEach(function(topicword) {
         	topicword.word.split(" ").filter(function(w) {
         		return w.length > 2;
         	}).forEach(function(w) {
-        		globwords[w] = 2 * topicword.weight + (globwords[w] || 0)
+        		allwords.push(w);
         	});
         });
     });
-    
-    var ntw = data.topwords.length;
-    
+        
     data.topwords.forEach(function(v, k) {
-    	var weight = (ntw - k)/ntw;
     	v.split(" ").filter(function(w) {
     		return w.length > 2;
     	}).forEach(function(w) {
-    		globwords[w] = weight + (globwords[w] || 0)
+    		allwords.push(w);
     	});
     });
-    
-    delete globwords.des;
-    
-    var allwords = _(globwords).keys(),
-    	topwords = _(globwords).map(function(v, k) {
-    		return {
-    			word: k,
-    			weight: v
-    		}
-    	});
-    
-    topwords.sort(function(a,b) {
-    	return b.weight - a.weight
-    });
-    
+        
+    var allwords = _(allwords).uniq();
+        
     allwords.sort();
     
     $(".keyword-search").autocomplete({
         source: allwords,
         change: function() {
-        	window.setInterval(wordFilter,0);
+        	window.setTimeout(wordFilter,0);
         }
     }).on("keyup change paste", wordFilter);
 // */
-
-    var wordsToShow = topwords.slice(0,80),
-        max = wordsToShow[0].weight,
-        min = Math.min(wordsToShow[wordsToShow.length - 1].weight, max - .01),
-        scale = 10 / (max - min);
-    
-    $(".topwords-list").html(wordsToShow.reduce(function(mem, d) {
-        return mem
-            + '<li style="font-size: '
-            + ( 10 + scale * (d.weight - min) )
-            + 'px;">'
-            + d.word
-            + '</li>'
-    },""));
     
     function showTopicViz() {
         var selectedBlocks = $(".topic.selected, .topic.hover"),
--- a/startscreen-frame.html	Fri Mar 22 17:03:53 2013 +0100
+++ b/startscreen-frame.html	Fri Mar 22 17:54:46 2013 +0100
@@ -38,15 +38,6 @@
                     </div>
                 </div>
                 
-                <div class="start-second-line">
-                    <div class="shadow-block description-block">
-                        <p>Description de la vidéo du débat ici</p>
-                    </div>
-                    <div class="topwords-block shadow-block">
-                        <ul class="topwords-list"></ul>
-                    </div>
-                </div>
-                
                 <div class="start-bottom">
                     <div class="start-dataviz">
                         <div class="start-svg"></div>
--- a/startscreen.html	Fri Mar 22 17:03:53 2013 +0100
+++ b/startscreen.html	Fri Mar 22 17:54:46 2013 +0100
@@ -38,15 +38,6 @@
                     </div>
                 </div>
                 
-                <div class="start-second-line">
-                    <div class="shadow-block description-block">
-                        <p>Description de la vidéo du débat ici</p>
-                    </div>
-                    <div class="topwords-block shadow-block">
-                        <ul class="topwords-list"></ul>
-                    </div>
-                </div>
-                
                 <div class="start-bottom">
                     <div class="start-dataviz">
                         <div class="start-svg"></div>