From 2c5d086425418432e5cf618dcfb31feeccc1ab88 Mon Sep 17 00:00:00 2001 From: R Midhun Suresh Date: Thu, 24 Jul 2025 17:40:01 +0530 Subject: [PATCH] Update `TextualEventViewModel` --- .../event-tiles/TextualEventViewModel.ts | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/viewmodels/event-tiles/TextualEventViewModel.ts b/src/viewmodels/event-tiles/TextualEventViewModel.ts index d2f56482d7..a9fd64c60d 100644 --- a/src/viewmodels/event-tiles/TextualEventViewModel.ts +++ b/src/viewmodels/event-tiles/TextualEventViewModel.ts @@ -11,28 +11,24 @@ import { type EventTileTypeProps } from "../../events/EventTileFactory"; import { MatrixClientPeg } from "../../MatrixClientPeg"; import { textForEvent } from "../../TextForEvent"; import { type TextualEventViewSnapshot } from "../../shared-components/event-tiles/TextualEvent/TextualEvent"; -import { SubscriptionViewModel } from "../SubscriptionViewModel"; +import { BaseViewModel } from "../base/BaseViewModel"; -export class TextualEventViewModel extends SubscriptionViewModel { - public constructor(private eventTileProps: EventTileTypeProps) { - super(); +export class TextualEventViewModel extends BaseViewModel { + public constructor(props: EventTileTypeProps) { + super(props, ""); + this.setTextFromEvent(); } + private setTextFromEvent = (): void => { + const text = textForEvent(this.props.mxEvent, MatrixClientPeg.safeGet(), true, this.props.showHiddenEvents); + this.snapshot.set(text); + }; + protected addDownstreamSubscription = (): void => { - this.eventTileProps.mxEvent.on(MatrixEventEvent.SentinelUpdated, this.subs.emit); + this.props.mxEvent.on(MatrixEventEvent.SentinelUpdated, this.setTextFromEvent); }; protected removeDownstreamSubscription = (): void => { - this.eventTileProps.mxEvent.off(MatrixEventEvent.SentinelUpdated, this.subs.emit); - }; - - public getSnapshot = (): TextualEventViewSnapshot => { - const text = textForEvent( - this.eventTileProps.mxEvent, - MatrixClientPeg.safeGet(), - true, - this.eventTileProps.showHiddenEvents, - ); - return text; + this.props.mxEvent.off(MatrixEventEvent.SentinelUpdated, this.setTextFromEvent); }; }