diff -r 15e048e00002 -r 2a2fcec209d0 client/js/list-bin.js --- a/client/js/list-bin.js Wed Jul 03 13:42:59 2013 +0200 +++ b/client/js/list-bin.js Thu Jul 04 12:43:30 2013 +0200 @@ -20,17 +20,11 @@ this.refresh(); }; -Rkns.ResourceList.Bin.prototype.render = function(searchstr) { - if (searchstr) { - var _rgxp = new RegExp('('+(searchstr).replace(/(\W)/g,'\\$1')+')','gi'), - rxtest = new RegExp(searchstr.replace(/(\W)/g,'\\$1'),'i'); - } +Rkns.ResourceList.Bin.prototype.render = function(searchbase) { + var search = searchbase || Rkns.Utils.regexpFromTextOrArray(); function highlight(_text) { - if (searchstr) { - return _text.replace(_rgxp, "$1"); - } else { - return _text; - } + var _e = _(_text).escape(); + return search.isempty ? _e : search.replace(_e, "$1"); } var _html = "", _this = this, @@ -60,7 +54,7 @@ if (url && !/^https?:\/\//.test(url)) { url = 'http://' + url; } - if (searchstr && !rxtest.test(title) && !rxtest.test(description)) { + if (!search.isempty && !search.test(title) && !search.test(description)) { return; } count++; @@ -75,12 +69,12 @@ }); }); _this.main_$.html(_html); - if (searchstr && count) { + if (!search.isempty && count) { this.count_$.text(count).show(); } else { this.count_$.hide(); } - if (searchstr && !count) { + if (!search.isempty && !count) { this.$.hide(); } else { this.$.show();