From: Michal Klobukowski Date: Thu, 22 Nov 2018 12:00:04 +0000 (+0100) Subject: Add `not in` rule to filter-builder X-Git-Tag: 1.3.0~12^2^2~1^2~3^2~17 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/effd3b741cde8a53bb3a41c8f83118481c4b4a9b Add `not in` rule to filter-builder Feature #14258 Arvados-DCO-1.1-Signed-off-by: Michal Klobukowski --- diff --git a/src/services/api/filter-builder.test.ts b/src/services/api/filter-builder.test.ts index e365b331..13fde867 100644 --- a/src/services/api/filter-builder.test.ts +++ b/src/services/api/filter-builder.test.ts @@ -60,6 +60,12 @@ describe("FilterBuilder", () => { ).toEqual(`["etag","in",["etagValue1","etagValue2"]]`); }); + it("should add 'not in' rule for set", () => { + expect( + filters.addIn("etag", ["etagValue1", "etagValue2"]).getFilters() + ).toEqual(`["etag","not in",["etagValue1","etagValue2"]]`); + }); + it("should add multiple rules", () => { expect( filters diff --git a/src/services/api/filter-builder.ts b/src/services/api/filter-builder.ts index f83f574f..1ebf4886 100644 --- a/src/services/api/filter-builder.ts +++ b/src/services/api/filter-builder.ts @@ -31,6 +31,10 @@ export class FilterBuilder { return this.addCondition(field, "in", value, "", "", resourcePrefix); } + public addNotIn(field: string, value?: string | string[], resourcePrefix?: string) { + return this.addCondition(field, "not in", value, "", "", resourcePrefix); + } + public addGt(field: string, value?: string, resourcePrefix?: string) { return this.addCondition(field, ">", value, "", "", resourcePrefix); }