# HG changeset patch # User veltr # Date 1341591748 -7200 # Node ID e34f026c87d368a263f5bbf27eef418d51bf7c4f # Parent 062376213732925aa37f7ef4e6422b760a2fd9a5 Corrected metadataplayer bug diff -r 062376213732 -r e34f026c87d3 src/ldt/ldt/static/ldt/metadataplayer/AnnotationsList.js --- 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, '$1')) diff -r 062376213732 -r e34f026c87d3 src/ldt/ldt/static/ldt/metadataplayer/CreateAnnotation.js --- 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"); diff -r 062376213732 -r e34f026c87d3 src/ldt/ldt/static/ldt/metadataplayer/LdtPlayer-core.js --- 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); }); diff -r 062376213732 -r e34f026c87d3 src/ldt/ldt/static/ldt/metadataplayer/Polemic.js --- 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); diff -r 062376213732 -r e34f026c87d3 src/ldt/ldt/static/ldt/metadataplayer/Segments.js --- 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);