projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '16115-sharing-links'. Closes #16115
[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 aa0f011b037b2ca1def0c426f20d5a9bbea71cf1..4809e7a80c83071b0d5889ce8a81b7b661bc4f83 100644
(file)
--- a/
src/services/api/filter-builder.ts
+++ b/
src/services/api/filter-builder.ts
@@
-2,14
+2,14
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// SPDX-License-Identifier: AGPL-3.0
-export function joinFilters(
filters0?: string, filters1?: string
) {
- return
[filters0, filters1]
.filter(s => s).join(",");
+export function joinFilters(
...filters: string[]
) {
+ return
filters
.filter(s => s).join(",");
}
export class FilterBuilder {
constructor(private filters = "") { }
}
export class FilterBuilder {
constructor(private filters = "") { }
- public addEqual(field: string, value?: string | boolean | null, resourcePrefix?: string) {
+ public addEqual(field: string, value?: string |
string[] |
boolean | null, resourcePrefix?: string) {
return this.addCondition(field, "=", value, "", "", resourcePrefix);
}
return this.addCondition(field, "=", value, "", "", resourcePrefix);
}
@@
-25,6
+25,10
@@
export class FilterBuilder {
return this.addCondition(field, "ilike", value, "%", "%", resourcePrefix);
}
return this.addCondition(field, "ilike", value, "%", "%", resourcePrefix);
}
+ public addContains(field: string, value?: string, resourcePrefix?: string) {
+ return this.addCondition(field, "contains", value, "", "", resourcePrefix);
+ }
+
public addIsA(field: string, value?: string | string[], resourcePrefix?: string) {
return this.addCondition(field, "is_a", value, "", "", resourcePrefix);
}
public addIsA(field: string, value?: string | string[], resourcePrefix?: string) {
return this.addCondition(field, "is_a", value, "", "", resourcePrefix);
}
@@
-56,6
+60,9
@@
export class FilterBuilder {
public addExists(value?: string, resourcePrefix?: string) {
return this.addCondition("properties", "exists", value, "", "", resourcePrefix);
}
public addExists(value?: string, resourcePrefix?: string) {
return this.addCondition("properties", "exists", value, "", "", resourcePrefix);
}
+ public addDoesNotExist(field: string, resourcePrefix?: string) {
+ return this.addCondition("properties." + field, "exists", false, "", "", resourcePrefix);
+ }
public addFullTextSearch(value: string) {
const terms = value.trim().split(/(\s+)/);
public addFullTextSearch(value: string) {
const terms = value.trim().split(/(\s+)/);