--- a/src/css/LdtPlayer.css Mon Jan 23 10:47:49 2012 +0100
+++ b/src/css/LdtPlayer.css Fri Jan 27 14:55:59 2012 +0100
@@ -801,10 +801,22 @@
/* Tagcloud */
+.Ldt-TagCloud {
+ font-family: "PT Sans", Arial, Helvetica, sans-serif;
+}
+
.Ldt-TagCloud ul {
list-style: none; padding: 0; margin: 5px; text-align: center;
}
.Ldt-TagCloud li {
- display: inline-block; margin: 2px;
+ display: inline-block; margin: 2px; cursor:pointer; cursor:hand;
}
+
+.Ldt-TagCloud li:hover {
+ color: #0099ff;
+}
+
+.Ldt-TagCloud-actif {
+ color: #c000c0;
+}
--- a/src/js/widgets/tagCloudWidget.js Mon Jan 23 10:47:49 2012 +0100
+++ b/src/js/widgets/tagCloudWidget.js Fri Jan 27 14:55:59 2012 +0100
@@ -48,6 +48,7 @@
var _max = _words[0].count,
_min = Math.min(_words[_words.length - 1].count, _max - 1),
_scale = 16 / Math.sqrt(_max - _min),
+ _this = this,
_html = '<ul>'
+ IriSP._(_words)
.chain()
@@ -66,5 +67,24 @@
this.selector
.addClass("Ldt-TagCloud")
.html(_html);
-
+ this.selector.find("li").click(function() {
+ var _txt = this.textContent.replace(/(^[\s]+|[\s]+$)/g,'');
+ _this._Popcorn.trigger("IriSP.search", _txt);
+ });
+ this._Popcorn.listen("IriSP.search", IriSP.wrap(this, function(searchString) {
+ var _rgxp = new RegExp("(" + searchString.replace(/(\W)/g,'\\$1') + ")","gi");
+ this.selector.find("li").each(function(_i, _e) {
+ _e.innerHTML = searchString.length ?
+ _e.textContent.replace(_rgxp,'<span class="Ldt-TagCloud-actif">$1</span>')
+ : _e.textContent;
+ });
+ }));
+ this._Popcorn.listen("IriSP.search.closed", IriSP.wrap(this, this.searchFieldClosedHandler));
+ this._Popcorn.listen("IriSP.search.cleared", IriSP.wrap(this, this.searchFieldClearedHandler));
}
+
+IriSP.TagCloudWidget.prototype.endsearch = function() {
+ this.selector.find("li").each(function(_i, _e) {
+ _e.innerHTML = _e.textContent;
+ });
+}