UBERF-8288: Fix archiving a channel (#6750)

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
This commit is contained in:
Kristina
2024-09-27 01:34:25 +07:00
committed by GitHub
parent d284414f2b
commit b359d080ac
28 changed files with 235 additions and 76 deletions
@@ -3,15 +3,31 @@
import ThreadParentMessage from './ThreadParentPresenter.svelte'
import { Label } from '@hcengineering/ui'
import ChannelScrollView from '../ChannelScrollView.svelte'
import { Ref } from '@hcengineering/core'
import core, { Doc, Ref, Space } from '@hcengineering/core'
import { createQuery, getClient } from '@hcengineering/presentation'
import { ChannelDataProvider } from '../../channelDataProvider'
import chunter from '../../plugin'
export let selectedMessageId: Ref<ActivityMessage> | undefined = undefined
export let message: ActivityMessage
const query = createQuery()
const client = getClient()
const hierarchy = client.getHierarchy()
let channel: Doc | undefined = undefined
let dataProvider: ChannelDataProvider | undefined = undefined
$: query.query(
message.attachedToClass,
{ _id: message.attachedTo },
(res) => {
channel = res[0]
},
{ limit: 1 }
)
$: if (message !== undefined && dataProvider === undefined) {
dataProvider = new ChannelDataProvider(
undefined,
@@ -24,22 +40,26 @@
}
$: messagesStore = dataProvider?.messagesStore
$: readonly = hierarchy.isDerived(message.attachedToClass, core.class.Space)
? (channel as Space)?.archived ?? false
: false
</script>
<div class="hulyComponent-content hulyComponent-content__container noShrink">
{#if dataProvider !== undefined}
{#if dataProvider !== undefined && channel !== undefined}
<ChannelScrollView
bind:selectedMessageId
embedded
skipLabels
object={message}
{channel}
provider={dataProvider}
fullHeight={false}
fixedInput={false}
>
<svelte:fragment slot="header">
<div class="mt-3">
<ThreadParentMessage {message} />
<ThreadParentMessage {message} {readonly} />
</div>
{#if (message.replies ?? $messagesStore?.length ?? 0) > 0}
@@ -39,6 +39,7 @@
export let hoverStyles: 'borderedHover' | 'filledHover' = 'borderedHover'
export let attachmentImageSize: AttachmentImageSize = 'x-large'
export let videoPreload = true
export let readonly = false
export let onClick: (() => void) | undefined = undefined
const client = getClient()
@@ -74,5 +75,6 @@
{attachmentImageSize}
{videoPreload}
{onClick}
{readonly}
/>
{/if}
@@ -17,6 +17,7 @@
import { ActivityMessage } from '@hcengineering/activity'
export let message: ActivityMessage
export let readonly = false
</script>
<ActivityMessagePresenter
@@ -26,4 +27,5 @@
withShowMore={false}
attachmentImageSize="x-large"
skipLabel
{readonly}
/>