diff -r 70795f940a6c -r 9ee6badcb160 src/js/widgets/tagCloudWidget.js
--- 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 = '
'
+ 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,'$1')
+ : _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;
+ });
+}