|
import mitt, { type Emitter } from 'mitt' |
|
|
|
export const enum EmitterEvents { |
|
RICH_TEXT_COMMAND = 'RICH_TEXT_COMMAND', |
|
SYNC_RICH_TEXT_ATTRS_TO_STORE = 'SYNC_RICH_TEXT_ATTRS_TO_STORE', |
|
OPEN_CHART_DATA_EDITOR = 'OPEN_CHART_DATA_EDITOR', |
|
OPEN_LATEX_EDITOR = 'OPEN_LATEX_EDITOR', |
|
} |
|
|
|
export interface RichTextAction { |
|
command: string |
|
value?: string |
|
} |
|
|
|
export interface RichTextCommand { |
|
target?: string |
|
action: RichTextAction | RichTextAction[] |
|
} |
|
|
|
type Events = { |
|
[EmitterEvents.RICH_TEXT_COMMAND]: RichTextCommand |
|
[EmitterEvents.SYNC_RICH_TEXT_ATTRS_TO_STORE]: void |
|
[EmitterEvents.OPEN_CHART_DATA_EDITOR]: void |
|
[EmitterEvents.OPEN_LATEX_EDITOR]: void |
|
} |
|
|
|
const emitter: Emitter<Events> = mitt<Events>() |
|
|
|
export default emitter |