platform/plugins/tracker-resources/src/components/scrums/Scrums.svelte
Denis Bykhov 52e57db99e
Fix resolved loc (#3046)
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
2023-04-21 23:24:45 +07:00

71 lines
2.0 KiB
Svelte

<!--
// Copyright © 2023 Hardcore Engineering Inc.
//
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. You may
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
-->
<script lang="ts">
import { Ref } from '@hcengineering/core'
import { createQuery } from '@hcengineering/presentation'
import { Project, Scrum, ScrumRecord } from '@hcengineering/tracker'
import { closePopup, closeTooltip, resolvedLocationStore } from '@hcengineering/ui'
import { onDestroy } from 'svelte'
import tracker from '../../plugin'
import ScrumRecordsView from './ScrumRecordsView.svelte'
import ScrumsView from './ScrumsView.svelte'
export let currentSpace: Ref<Project>
let scrumId: Ref<Scrum> | undefined
let scrum: Scrum | undefined
let activeScrumRecord: ScrumRecord | undefined
const activeRecordQuery = createQuery()
const scrumQuery = createQuery()
onDestroy(
resolvedLocationStore.subscribe(async (loc) => {
closeTooltip()
closePopup()
scrumId = loc.path[5] as Ref<Scrum>
})
)
$: if (scrumId) {
scrumQuery.query(tracker.class.Scrum, { _id: scrumId }, (res) => {
scrum = res.shift()
})
} else {
scrumQuery.unsubscribe()
scrum = undefined
}
$: activeRecordQuery.query(
tracker.class.ScrumRecord,
{
space: currentSpace,
scrumRecorder: { $exists: true },
startTs: { $exists: true },
endTs: { $exists: false }
},
(result) => {
activeScrumRecord = result.shift()
}
)
</script>
{#if scrum}
<ScrumRecordsView {activeScrumRecord} {scrum} />
{:else}
<ScrumsView {activeScrumRecord} {currentSpace} />
{/if}