From d1cb89c5de10ff23c8443473065493d9634b803b Mon Sep 17 00:00:00 2001
From: Denis Bykhov <bykhov.denis@gmail.com>
Date: Wed, 25 Jan 2023 19:39:30 +0600
Subject: [PATCH] Fix recruit (#2543)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
---
 .../ui/src/components/BarDashboard.svelte     |  2 +-
 packages/ui/src/types.ts                      |  1 +
 .../src/components/Dashboard.svelte           |  1 +
 .../src/components/StatusTableView.svelte     | 29 +++++++------------
 .../src/components/SpaceContent.svelte        |  5 ++--
 5 files changed, 16 insertions(+), 22 deletions(-)

diff --git a/packages/ui/src/components/BarDashboard.svelte b/packages/ui/src/components/BarDashboard.svelte
index 5083a82fff..3bae2607f3 100644
--- a/packages/ui/src/components/BarDashboard.svelte
+++ b/packages/ui/src/components/BarDashboard.svelte
@@ -22,7 +22,7 @@
 </script>
 
 <div class="grid">
-  {#each items as item (item.label)}
+  {#each items as item (item._id)}
     <div>
       {item.label}
     </div>
diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts
index b1b337c5ff..48141a44e5 100644
--- a/packages/ui/src/types.ts
+++ b/packages/ui/src/types.ts
@@ -205,6 +205,7 @@ export interface PopupOptions {
 }
 
 export interface DashboardItem {
+  _id: string
   label: string
   values: DashboardGroup[]
   tooltip?: LabelAndProps
diff --git a/plugins/task-resources/src/components/Dashboard.svelte b/plugins/task-resources/src/components/Dashboard.svelte
index 74a68d62ac..260f797c4f 100644
--- a/plugins/task-resources/src/components/Dashboard.svelte
+++ b/plugins/task-resources/src/components/Dashboard.svelte
@@ -105,6 +105,7 @@
             return [
               p._id,
               {
+                _id: p._id,
                 label: p.title,
                 values: [
                   { color: 10, value: 0 },
diff --git a/plugins/task-resources/src/components/StatusTableView.svelte b/plugins/task-resources/src/components/StatusTableView.svelte
index 8744c43af0..7bad5df1db 100644
--- a/plugins/task-resources/src/components/StatusTableView.svelte
+++ b/plugins/task-resources/src/components/StatusTableView.svelte
@@ -14,16 +14,16 @@
 // limitations under the License.
 -->
 <script lang="ts">
-  import { Class, DocumentQuery, FindOptions, Ref, SortingOrder, Space } from '@hcengineering/core'
+  import { Class, DocumentQuery, FindOptions, Ref, SortingOrder } from '@hcengineering/core'
   import { createQuery, getClient } from '@hcengineering/presentation'
   import { DoneState, SpaceWithStates, State, Task } from '@hcengineering/task'
-  import { TabList } from '@hcengineering/ui'
   import type { TabItem } from '@hcengineering/ui'
+  import { TabList } from '@hcengineering/ui'
   import { TableBrowser } from '@hcengineering/view-resources'
   import task from '../plugin'
-  import StatesBar from './state/StatesBar.svelte'
-  import Won from './icons/Won.svelte'
   import Lost from './icons/Lost.svelte'
+  import Won from './icons/Won.svelte'
+  import StatesBar from './state/StatesBar.svelte'
 
   export let _class: Ref<Class<Task>>
   export let space: Ref<SpaceWithStates>
@@ -81,16 +81,9 @@
 
   const client = getClient()
 
-  async function updateQuery (
-    query: DocumentQuery<Task>,
-    selectedDoneStates: Set<Ref<DoneState>>,
-    space?: Ref<Space>
-  ): Promise<void> {
+  async function updateQuery (query: DocumentQuery<Task>, selectedDoneStates: Set<Ref<DoneState>>): Promise<void> {
     resConfig = updateConfig(config)
     const result = client.getHierarchy().clone(query)
-    if (result.space) {
-      result.space = space
-    }
     if (state) {
       result.state = state
     }
@@ -115,17 +108,17 @@
       selectedDS = ['NoDoneState']
       withoutDone = true
     }
-    updateQuery(query, selectedDoneStates, space)
+    updateQuery(query, selectedDoneStates)
   }
 
   function noDoneClick (): void {
     withoutDone = true
     selectedDS = ['NoDoneState']
     selectedDoneStates.clear()
-    updateQuery(query, selectedDoneStates, space)
+    updateQuery(query, selectedDoneStates)
   }
 
-  $: updateQuery(query, selectedDoneStates, space)
+  $: updateQuery(query, selectedDoneStates)
   const handleSelect = (result: any) => {
     if (result.type === 'select') {
       const res = result.detail
@@ -134,12 +127,12 @@
         state = undefined
         withoutDone = false
         selectedDoneStates.clear()
-        updateQuery(query, selectedDoneStates, space)
+        updateQuery(query, selectedDoneStates)
       } else if (res.id === 'DoneStates') {
         doneStatusesView = true
         state = undefined
         selectedDoneStates.clear()
-        updateQuery(query, selectedDoneStates, space)
+        updateQuery(query, selectedDoneStates)
       }
     }
   }
@@ -165,7 +158,7 @@
   {#if doneStatusesView}
     <TabList items={itemsDS} bind:selected={selectedDS} multiselect on:select={handleDoneSelect} size={'small'} />
   {:else}
-    <StatesBar bind:state {space} gap={'none'} on:change={() => updateQuery(query, selectedDoneStates, space)} />
+    <StatesBar bind:state {space} gap={'none'} on:change={() => updateQuery(query, selectedDoneStates)} />
   {/if}
 </div>
 <div class="statustableview-container">
diff --git a/plugins/workbench-resources/src/components/SpaceContent.svelte b/plugins/workbench-resources/src/components/SpaceContent.svelte
index 8fecaa1620..847a1d14da 100644
--- a/plugins/workbench-resources/src/components/SpaceContent.svelte
+++ b/plugins/workbench-resources/src/components/SpaceContent.svelte
@@ -14,7 +14,7 @@
 // limitations under the License.
 -->
 <script lang="ts">
-  import type { Class, Doc, DocumentQuery, Ref, Space, WithLookup } from '@hcengineering/core'
+  import type { Class, Doc, Ref, Space, WithLookup } from '@hcengineering/core'
   import { IntlString } from '@hcengineering/platform'
   import { createQuery } from '@hcengineering/presentation'
   import { AnyComponent, Component, Loading } from '@hcengineering/ui'
@@ -33,9 +33,8 @@
   let preference: ViewletPreference | undefined
   let loading = true
 
-  let resultQuery: DocumentQuery<Doc> = {}
-
   $: searchQuery = search === '' ? { space } : { $search: search, space }
+  $: resultQuery = searchQuery
 
   $: viewlet &&
     preferenceQuery.query(