mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
feat(core): desktop multiple server support (#8979)
This commit is contained in:
@@ -33,7 +33,7 @@ export class EventBus {
|
||||
});
|
||||
|
||||
for (const handler of handlers.values()) {
|
||||
this.on(handler.event.id, handler.handler);
|
||||
this.on(handler.event, handler.handler);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,23 +41,25 @@ export class EventBus {
|
||||
return this.parent?.root ?? this;
|
||||
}
|
||||
|
||||
on<T>(id: string, listener: (event: FrameworkEvent<T>) => void) {
|
||||
if (!this.listeners[id]) {
|
||||
this.listeners[id] = [];
|
||||
on<T>(event: FrameworkEvent<T>, listener: (event: T) => void) {
|
||||
if (!this.listeners[event.id]) {
|
||||
this.listeners[event.id] = [];
|
||||
}
|
||||
this.listeners[id].push(listener);
|
||||
const off = this.parent?.on(id, listener);
|
||||
this.listeners[event.id].push(listener);
|
||||
const off = this.parent?.on(event, listener);
|
||||
return () => {
|
||||
this.off(id, listener);
|
||||
this.off(event, listener);
|
||||
off?.();
|
||||
};
|
||||
}
|
||||
|
||||
off<T>(id: string, listener: (event: FrameworkEvent<T>) => void) {
|
||||
if (!this.listeners[id]) {
|
||||
off<T>(event: FrameworkEvent<T>, listener: (event: T) => void) {
|
||||
if (!this.listeners[event.id]) {
|
||||
return;
|
||||
}
|
||||
this.listeners[id] = this.listeners[id].filter(l => l !== listener);
|
||||
this.listeners[event.id] = this.listeners[event.id].filter(
|
||||
l => l !== listener
|
||||
);
|
||||
}
|
||||
|
||||
emit<T>(event: FrameworkEvent<T>, payload: T) {
|
||||
|
||||
Reference in New Issue
Block a user