From 25b048f8e8ffe96af49616747819316501a2c632 Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Wed, 20 Sep 2023 14:42:37 +0700 Subject: [PATCH] UBER-885: Value filter fix (#3719) Signed-off-by: Andrey Sobolev --- .../src/components/filter/ValueFilter.svelte | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/plugins/view-resources/src/components/filter/ValueFilter.svelte b/plugins/view-resources/src/components/filter/ValueFilter.svelte index ce2089dc22..3835ef96b6 100644 --- a/plugins/view-resources/src/components/filter/ValueFilter.svelte +++ b/plugins/view-resources/src/components/filter/ValueFilter.svelte @@ -74,19 +74,29 @@ } const isDerivedFromSpace = hierarchy.isDerived(_class, core.class.Space) - const notArchived = - space === undefined || isDerivedFromSpace + const spaces = + space !== undefined || isDerivedFromSpace ? [] - : (await client.findAll(core.class.Space, { archived: { $ne: true } }, { projection: { _id: 1 } })).map( - (it) => it._id - ) + : ( + await client.findAll( + core.class.Space, + { archived: { $ne: true } }, + { + projection: { + _id: 1, + archived: 1, + _class: 1 + } + } + ) + ).map((it) => it._id) async function doQuery (limit: number | undefined, first1000?: any[]): Promise { const p = client.findAll( _class, { ...resultQuery, - ...(space ? { space } : isDerivedFromSpace ? { archived: false } : { space: { $in: notArchived } }), + ...(space ? { space } : isDerivedFromSpace ? { archived: false } : { space: { $in: spaces } }), ...(first1000 ? { [filter.key.key]: { $nin: first1000 } } : {}) }, {