projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
19783: Review updates
[arvados-workbench2.git]
/
src
/
services
/
api
/
filter-builder.ts
diff --git
a/src/services/api/filter-builder.ts
b/src/services/api/filter-builder.ts
index da67935a1e5d8a44c5bf2c601c3fc639204ca8ab..bb97665a8c6652a7b89324872a416e3b39c343a5 100644
(file)
--- a/
src/services/api/filter-builder.ts
+++ b/
src/services/api/filter-builder.ts
@@
-64,7
+64,7
@@
export class FilterBuilder {
return this.addCondition("properties." + field, "exists", false, "", "", resourcePrefix);
}
return this.addCondition("properties." + field, "exists", false, "", "", resourcePrefix);
}
- public addFullTextSearch(value: string) {
+ public addFullTextSearch(value: string
, table?: string
) {
const regex = /"[^"]*"/;
const matches: any[] = [];
const regex = /"[^"]*"/;
const matches: any[] = [];
@@
-76,10
+76,15
@@
export class FilterBuilder {
match = value.match(regex);
}
match = value.match(regex);
}
+ let searchIn = 'any';
+ if (table) {
+ searchIn = table + ".any";
+ }
+
const terms = value.trim().split(/(\s+)/).concat(matches);
terms.forEach(term => {
if (term !== " ") {
const terms = value.trim().split(/(\s+)/).concat(matches);
terms.forEach(term => {
if (term !== " ") {
- this.addCondition(
"any"
, "ilike", term, "%", "%");
+ this.addCondition(
searchIn
, "ilike", term, "%", "%");
}
});
return this;
}
});
return this;