X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cb2699f27ab6ea2587b7842e28cbd0941ea03535..54805dd83a984d4e34bb35146d2505bac12bc1d0:/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, "%", "%");