@textbus/xnote
Version:
A high-performance rich text editor that supports multiplayer online collaboration.
22 lines (21 loc) • 824 B
TypeScript
import { Observable, Selection, Subject } from '@textbus/core';
import { CollaborateCursor, UserSelectionCursor } from '@textbus/platform-browser';
import { Message, MessageBus } from '@textbus/collaborate';
export interface UserInfo {
username: string;
color: string;
id: string;
}
export interface XNoteMessage extends UserSelectionCursor {
id: string;
}
export declare class XNoteMessageBus extends MessageBus<XNoteMessage> {
private selection;
private collaborateCursor;
private userinfo;
onMessageChange: Observable<Message<XNoteMessage>[]>;
protected messageChangeEvent: Subject<Message<XNoteMessage>[]>;
constructor(selection: Selection, collaborateCursor: CollaborateCursor, userinfo: UserInfo);
get(): XNoteMessage;
consume(message: Message<XNoteMessage>[]): void;
}