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(