chore: handle all updates to messages

This commit is contained in:
Paul Makles
2022-07-31 12:20:25 +02:00
parent ca69a0b4c5
commit 11a17feaae
5 changed files with 14 additions and 15 deletions

View File

@@ -34,19 +34,19 @@ export class ChannelRenderer {
});
this.receive = this.receive.bind(this);
this.edit = this.edit.bind(this);
this.updated = this.updated.bind(this);
this.delete = this.delete.bind(this);
const client = this.channel.client;
client.addListener("message", this.receive);
client.addListener("message/update", this.edit);
client.addListener("message/updated", this.updated);
client.addListener("message/delete", this.delete);
}
destroy() {
const client = this.channel.client;
client.removeListener("message", this.receive);
client.removeListener("message/update", this.edit);
client.removeListener("message/updated", this.updated);
client.removeListener("message/delete", this.delete);
}
@@ -54,8 +54,8 @@ export class ChannelRenderer {
this.currentRenderer.receive(this, message);
}
private edit(id: string, patch: Partial<Message>) {
this.currentRenderer.edit(this, id, patch);
private updated(id: string, message: Message) {
this.currentRenderer.updated(this, id, message);
}
private delete(id: string) {

View File

@@ -1,6 +1,5 @@
import { runInAction } from "mobx";
import { noopAsync } from "../../js";
import { SMOOTH_SCROLL_ON_RECEIVE } from "../Singleton";
import { RendererRoutines } from "../types";
@@ -72,7 +71,7 @@ export const SimpleRenderer: RendererRoutines = {
});
});
},
edit: async (renderer) => {
updated: async (renderer) => {
renderer.emitScroll({
type: "StayAtBottom",
smooth: false,

View File

@@ -29,10 +29,10 @@ export interface RendererRoutines {
) => Promise<void>;
receive: (renderer: ChannelRenderer, message: Message) => Promise<void>;
edit: (
updated: (
renderer: ChannelRenderer,
id: string,
partial: Partial<Message>,
message: Message,
) => Promise<void>;
delete: (renderer: ChannelRenderer, id: string) => Promise<void>;