mirror of
https://github.com/hay-kot/homebox.git
synced 2025-08-02 07:40:28 +00:00
remove old event bus code
This commit is contained in:
parent
79b6c66e06
commit
884e2c700e
1 changed files with 0 additions and 38 deletions
|
@ -1,38 +0,0 @@
|
|||
export enum EventTypes {
|
||||
// ClearStores event is used to inform the stores that _all_ the data they are using
|
||||
// is now out of date and they should refresh - This is used when the user makes large
|
||||
// changes to the data such as bulk actions or importing a CSV file
|
||||
InvalidStores,
|
||||
}
|
||||
|
||||
export type EventFn = () => void;
|
||||
|
||||
export interface IEventBus {
|
||||
on(event: EventTypes, fn: EventFn, key: string): void;
|
||||
off(event: EventTypes, key: string): void;
|
||||
emit(event: EventTypes): void;
|
||||
}
|
||||
|
||||
class EventBus implements IEventBus {
|
||||
private listeners: Record<EventTypes, Record<string, EventFn>> = {
|
||||
[EventTypes.InvalidStores]: {},
|
||||
};
|
||||
|
||||
on(event: EventTypes, fn: EventFn, key: string): void {
|
||||
this.listeners[event][key] = fn;
|
||||
}
|
||||
|
||||
off(event: EventTypes, key: string): void {
|
||||
delete this.listeners[event][key];
|
||||
}
|
||||
|
||||
emit(event: EventTypes): void {
|
||||
Object.values(this.listeners[event]).forEach(fn => fn());
|
||||
}
|
||||
}
|
||||
|
||||
const bus = new EventBus();
|
||||
|
||||
export function useEventBus(): IEventBus {
|
||||
return bus;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue