X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/c4a5e3c6af1aa8af29403c3b65296dd6ec64def8..c48d10802d4ae95273f8b98e622e5df200cdc3a7:/src/services/api/filter-builder.ts diff --git a/src/services/api/filter-builder.ts b/src/services/api/filter-builder.ts index 4809e7a8..da67935a 100644 --- a/src/services/api/filter-builder.ts +++ b/src/services/api/filter-builder.ts @@ -65,7 +65,18 @@ export class FilterBuilder { } public addFullTextSearch(value: string) { - const terms = value.trim().split(/(\s+)/); + const regex = /"[^"]*"/; + const matches: any[] = []; + + let match = value.match(regex); + + while (match) { + value = value.replace(match[0], ""); + matches.push(match[0].replace(/"/g, '')); + match = value.match(regex); + } + + const terms = value.trim().split(/(\s+)/).concat(matches); terms.forEach(term => { if (term !== " ") { this.addCondition("any", "ilike", term, "%", "%");