emitter.ts 757 B

1234567891011121314151617181920212223242526272829
  1. import mitt, { type Emitter } from 'mitt';
  2. export const enum EmitterEvents {
  3. RICH_TEXT_COMMAND = 'RICH_TEXT_COMMAND',
  4. SYNC_RICH_TEXT_ATTRS_TO_STORE = 'SYNC_RICH_TEXT_ATTRS_TO_STORE',
  5. OPEN_CHART_DATA_EDITOR = 'OPEN_CHART_DATA_EDITOR',
  6. OPEN_LATEX_EDITOR = 'OPEN_LATEX_EDITOR',
  7. }
  8. export interface RichTextAction {
  9. command: string;
  10. value?: string;
  11. }
  12. export interface RichTextCommand {
  13. target?: string;
  14. action: RichTextAction | RichTextAction[];
  15. }
  16. type Events = {
  17. [EmitterEvents.RICH_TEXT_COMMAND]: RichTextCommand;
  18. [EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE]: void;
  19. [EmitterEvents.OPEN_CHART_DATA_EDITOR]: void;
  20. [EmitterEvents.OPEN_LATEX_EDITOR]: void;
  21. };
  22. const emitter: Emitter<Events> = mitt<Events>();
  23. export default emitter;