# HG changeset patch # User veltr # Date 1341591212 -7200 # Node ID 28efc97b5d7870164ff5c48d4a34af9c64fec62f # Parent 64c2eaafe5e26be9a1c101b4d77d648d810bfb93 Corrected MAJOR bug in search results diff -r 64c2eaafe5e2 -r 28efc97b5d78 src/js/model.js --- a/src/js/model.js Thu Jul 05 19:08:13 2012 +0200 +++ b/src/js/model.js Fri Jul 06 18:13:32 2012 +0200 @@ -28,19 +28,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 @@ -168,21 +169,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 64c2eaafe5e2 -r 28efc97b5d78 src/widgets/Annotation.js --- a/src/widgets/Annotation.js Thu Jul 05 19:08:13 2012 +0200 +++ b/src/widgets/Annotation.js Fri Jul 06 18:13:32 2012 +0200 @@ -30,7 +30,7 @@ '