From a238ab71965d75c8d0610d40c0dd745856a8fd52 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Thu, 17 Oct 2019 11:09:22 -0300 Subject: [PATCH] 15429: Escapes the underscore char so it can be used as a literal. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- apps/workbench/app/assets/javascripts/ilike_filters.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/workbench/app/assets/javascripts/ilike_filters.js b/apps/workbench/app/assets/javascripts/ilike_filters.js index d2b549a535..4f5cd48e1f 100644 --- a/apps/workbench/app/assets/javascripts/ilike_filters.js +++ b/apps/workbench/app/assets/javascripts/ilike_filters.js @@ -12,6 +12,7 @@ // "foo" => [["any", "ilike", "%foo%"]] // "foo.bar" => [["any", "ilike", "%foo.bar%"]] // "." is a word char in ilike queries // "foo/b-r" => [["any", "ilike", "%foo/b-r%"]] // "/" and "-", too +// "foo_bar" => [["any", "ilike", "%foo\\_bar%"] // "_" should be escaped so it can be used as a literal // "foo bar" => [["any", "ilike", "%foo%"], ["any", "ilike", "%bar%"]] // "foo|bar" => [["any", "ilike", "%foo%"], ["any", "ilike", "%bar%"]] // " oo|bar" => [["any", "ilike", "%oo%"], ["any", "ilike", "%bar%"]] @@ -19,7 +20,7 @@ // " " => [] // null => [] window.ilike_filters = function(q) { - q = (q || '').replace(/[^-\w\.\/]+/g, ' ').trim() + q = (q || '').replace(/[^-\w\.\/]+/g, ' ').trim().replace(/_/g, '\\_') if (q == '') return [] return q.split(" ").map(function(term) { -- 2.30.2