few enhancements
authorcavaliet
Thu, 06 Feb 2014 14:43:30 +0100
changeset 1026 420608a77566
parent 1025 5fb8d735fde0
child 1027 9ae9453bad73
few enhancements
src/js/model.js
src/widgets/Segments.js
src/widgets/Tagcloud.js
--- a/src/js/model.js	Thu Feb 06 12:29:31 2014 +0100
+++ b/src/js/model.js	Thu Feb 06 14:43:30 2014 +0100
@@ -276,6 +276,26 @@
     return res;
 };
 
+List.prototype.searchByTags = function(_text) {
+    if (!_text) {
+        this.trigger("clear-search");
+        return this;
+    }
+    this.searching = true;
+    this.trigger("search", _text);
+    var rxsource = fullTextRegexps(_text),
+        rgxp = new RegExp(rxsource,"im");
+    this.regexp = new RegExp(rxsource,"gim");
+    var res = this.filter(function(_element, _k) {
+        var _isfound = rgxp.test(_element.getTagTexts());
+        _element.found = _isfound;
+        _element.trigger(_isfound ? "found" : "not-found");
+        return _isfound;
+    });
+    this.trigger(res.length ? "found" : "not-found",res);
+    return res;
+};
+
 List.prototype.getTitles = function() {
     return this.map(function(_el) {
         return _el.title;
--- a/src/widgets/Segments.js	Thu Feb 06 12:29:31 2014 +0100
+++ b/src/widgets/Segments.js	Thu Feb 06 14:43:30 2014 +0100
@@ -77,7 +77,7 @@
             color : color,
             medcolor: medcolor,
             lowcolor: lowcolor,
-            text: _fulltext.replace(/(\n|\r|\r\n)/mg,' ').replace(/(^.{120,140})[\s].+$/m,'$1…'),
+            text: (_annotation.creator ? (_annotation.creator + " : ") : "" ) + _fulltext.replace(/(\n|\r|\r\n)/mg,' ').replace(/(^.{120,140})[\s].+$/m,'$1…'),
             left : _left,
             width : _width,
             top: _top,
--- a/src/widgets/Tagcloud.js	Thu Feb 06 12:29:31 2014 +0100
+++ b/src/widgets/Tagcloud.js	Thu Feb 06 14:43:30 2014 +0100
@@ -21,7 +21,8 @@
     annotation_type: false,
     segment_annotation_type: false,
     min_font_size: 10,
-    max_font_size: 26
+    max_font_size: 26,
+    min_count: 2
 };
 
 IriSP.Widgets.Tagcloud.prototype.stopword_lists = {
@@ -54,7 +55,7 @@
 
 IriSP.Widgets.Tagcloud.prototype.redraw = function(_from, _to) {
     var _urlRegExp = /https?:\/\/[0-9a-zA-Z\.%\/-_]+/g,
-        _regexpword = /[^\s\.&;,'"!\?\d\(\)\+\[\]\\\…\-«»:\/]{3,}/g,
+        _regexpword = /[^\.&;,'"!\?\d\(\)\+\[\]\\\…\-«»:\/]{3,}/g,
         _words = {},
         _this = this,
         _annotations = this.getWidgetAnnotations();
@@ -64,7 +65,6 @@
             return _annotation.begin >= _from && _annotation.end <= _to;
         });
     }
-    
     _annotations.forEach(function(_annotation) {
        var _txt =
             (_this.include_titles ? _annotation.title : '')
@@ -73,6 +73,7 @@
             + ' '
             + (_this.include_tag_texts ? _annotation.getTagTexts() : '');
        IriSP._(_txt.toLowerCase().replace(_urlRegExp, '').match(_regexpword)).each(function(_word) {
+    	   _word = _word.trim();
            if (IriSP._(_this.stopwords).indexOf(_word) == -1 && (!_this.exclude_pattern || !_this.exclude_pattern.test(_word))) {
                _words[_word] = 1 + (_words[_word] || 0);
            }
@@ -87,7 +88,7 @@
             };
         })
         .filter(function(_v) {
-            return _v.count > 2;
+            return _v.count > _this.min_count;
         })
         .sortBy(function(_v) {
             return - _v.count;
@@ -105,7 +106,7 @@
     this.$.html(Mustache.to_html(this.template,  {words: _words }));
     this.$.find(".Ldt-Tagcloud-item").click(function() {
         var _txt = IriSP.jQuery(this).attr("content");
-        _this.source.getAnnotations().search(_txt);
+        _this.source.getAnnotations().searchByTags(_txt);
     });
     this.source.getAnnotations().on("search", this.functionWrapper("onSearch"));
     this.source.getAnnotations().on("search-cleared", this.functionWrapper("onSearch"));