--- a/src/ldt/ldt/static/ldt/metadataplayer/AnnotationsList.js Fri Jul 06 15:48:37 2012 +0200
+++ b/src/ldt/ldt/static/ldt/metadataplayer/AnnotationsList.js Fri Jul 06 18:22:28 2012 +0200
@@ -199,7 +199,7 @@
}
var _bgcolor;
IriSP._(_this.polemics).each(function(_polemic) {
- var _rgxp = IriSP.Model.regexpFromTextOrArray(_polemic.keyword);
+ var _rgxp = IriSP.Model.regexpFromTextOrArray(_polemic.keyword, true);
if (_rgxp.test(_title + " " + _description)) {
_bgcolor = _polemic.background_color;
}
@@ -238,7 +238,7 @@
})
if(this.searchString) {
- var _searchRe = new RegExp('(' + this.searchString.replace(/(\W)/gm,'\\$1') + ')','gim');
+ var _searchRe = IriSP.Model.regexpFromTextOrArray(this.searchString);
this.$.find(".Ldt-AnnotationsList-Title a, .Ldt-AnnotationsList-Description").each(function() {
var _$ = IriSP.jQuery(this);
_$.html(_$.text().replace(/(^\s+|\s+$)/g,'').replace(_searchRe, '<span class="Ldt-AnnotationsList-highlight">$1</span>'))
--- a/src/ldt/ldt/static/ldt/metadataplayer/CreateAnnotation.js Fri Jul 06 15:48:37 2012 +0200
+++ b/src/ldt/ldt/static/ldt/metadataplayer/CreateAnnotation.js Fri Jul 06 18:22:28 2012 +0200
@@ -225,7 +225,7 @@
var _field = this.$.find(".Ldt-CreateAnnotation-Description"),
_rx = IriSP.Model.regexpFromTextOrArray(_keyword),
_contents = _field.val();
- _contents = ( _rx.test(_contents)
+ _contents = ( !!_contents.match(_rx)
? _contents.replace(_rx,"")
: _contents + " " + _keyword
);
@@ -245,7 +245,7 @@
_field.css("border-color", !!_contents ? "#666666" : "#ff0000");
this.$.find(".Ldt-CreateAnnotation-TagLi, .Ldt-CreateAnnotation-PolemicLi").each(function() {
var _rx = IriSP.Model.regexpFromTextOrArray(IriSP.jQuery(this).text().replace(/(^\s+|\s+$)/g,''));
- if (_rx.test(_contents)) {
+ if (_contents.match(_rx)) {
IriSP.jQuery(this).addClass("selected");
} else {
IriSP.jQuery(this).removeClass("selected");
--- a/src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js Fri Jul 06 15:48:37 2012 +0200
+++ b/src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js Fri Jul 06 18:22:28 2012 +0200
@@ -600,19 +600,20 @@
}
return "autoid-" + this._ID_BASE + '-' + _n;
},
- regexpFromTextOrArray : function(_textOrArray) {
+ regexpFromTextOrArray : function(_textOrArray, _testOnly) {
+ var _testOnly = _testOnly || false;
function escapeText(_text) {
return _text.replace(/([\\\*\+\?\|\{\[\}\]\(\)\^\$\.\#\/])/gm, '\\$1');
}
- return new RegExp( '('
- + (
- typeof _textOrArray === "string"
- ? escapeText(_textOrArray)
- : IriSP._(_textOrArray).map(escapeText).join("|")
- )
- + ')',
- 'gim'
- );
+ var _source =
+ typeof _textOrArray === "string"
+ ? escapeText(_textOrArray)
+ : IriSP._(_textOrArray).map(escapeText).join("|");
+ if (_testOnly) {
+ return new RegExp( _source, 'im');
+ } else {
+ return new RegExp( '(' + _source + ')', 'gim');
+ }
},
isoToDate : function(_str) {
// http://delete.me.uk/2005/03/iso8601.html
@@ -740,21 +741,21 @@
* here we can search by these criteria
*/
IriSP.Model.List.prototype.searchByTitle = function(_text) {
- var _rgxp = IriSP.Model.regexpFromTextOrArray(_text);
+ var _rgxp = IriSP.Model.regexpFromTextOrArray(_text, true);
return this.filter(function(_element) {
return _rgxp.test(_element.title);
});
}
IriSP.Model.List.prototype.searchByDescription = function(_text) {
- var _rgxp = IriSP.Model.regexpFromTextOrArray(_text);
+ var _rgxp = IriSP.Model.regexpFromTextOrArray(_text, true);
return this.filter(function(_element) {
return _rgxp.test(_element.description);
});
}
IriSP.Model.List.prototype.searchByTextFields = function(_text) {
- var _rgxp = IriSP.Model.regexpFromTextOrArray(_text);
+ var _rgxp = IriSP.Model.regexpFromTextOrArray(_text, true);
return this.filter(function(_element) {
return _rgxp.test(_element.description) || _rgxp.test(_element.title);
});
--- a/src/ldt/ldt/static/ldt/metadataplayer/Polemic.js Fri Jul 06 15:48:37 2012 +0200
+++ b/src/ldt/ldt/static/ldt/metadataplayer/Polemic.js Fri Jul 06 18:22:28 2012 +0200
@@ -46,7 +46,7 @@
IriSP.Widgets.Polemic.prototype.onSearch = function(searchString) {
this.searchString = typeof searchString !== "undefined" ? searchString : '';
var _found = 0,
- _re = IriSP.Model.regexpFromTextOrArray(searchString),
+ _re = IriSP.Model.regexpFromTextOrArray(searchString, true),
_this = this;
this.$tweets.each(function() {
var _el = IriSP.jQuery(this);
--- a/src/ldt/ldt/static/ldt/metadataplayer/Segments.js Fri Jul 06 15:48:37 2012 +0200
+++ b/src/ldt/ldt/static/ldt/metadataplayer/Segments.js Fri Jul 06 18:22:28 2012 +0200
@@ -74,7 +74,7 @@
IriSP.Widgets.Segments.prototype.onSearch = function(searchString) {
this.searchString = typeof searchString !== "undefined" ? searchString : '';
var _found = 0,
- _re = IriSP.Model.regexpFromTextOrArray(searchString);
+ _re = IriSP.Model.regexpFromTextOrArray(searchString, true);
if (this.searchString) {
this.$segments.each(function() {
var _el = IriSP.jQuery(this);