diff --git a/doc/EDITOR.md b/doc/EDITOR.md index f24f432344..d4700bfee5 100644 --- a/doc/EDITOR.md +++ b/doc/EDITOR.md @@ -31,3 +31,45 @@ // // ``` + + +``` +// ┌────────────────────────┐ ┌──────────────────┐ +// │ RawGestureDetector │─▶│ RenderEditor │──┐ +// └────────────────────────┘ └──────────────────┘ │ +// │ +// 1. pass the gesture event │ +// │ +// │ +// ┌───────────────────────────────────┐ │ ┌────────────────┐ ┌──────────────────┐ ┌──────────────────────────────┐ +// │RawEditorStateTextInputClientMixin │──┼──▶│QuillController │◀──listen────│ RenderState │──▶│ _didChangeTextEditingValue │ +// └───────────────────────────────────┘ │ └────────────────┘ └──────────────────┘ └──────────────────────────────┘ +// │ │ ▲ │ +// 1. pass the text input event │ │ │ ▼ +// │ └─────2. notify change──────────┘ ┌─────────────────────────────────┐ +// │ │ _onChangeTextEditingValue │ +// ┌─────────────────────────────┐ │ └─────────────────────────────────┘ +// │ RawEditorStateKeyboardMixin │───┘ │ +// └─────────────────────────────┘ ▼ +// ┌──────────────────────┐ Update the ScrollController's pos after +// 1. pass the keyboard cur/ delete/ shortcut event │ _showCaretOnScreen │ post frame +// └──────────────────────┘ +// │ +// ▼ +// ┌──────────────────────┐ +// │ Config cursor timer │ +// └──────────────────────┘ +// │ +// ▼ +// ┌───────────────────────┐ ┌───────────────────────────────────┐ +// │ addPostFrameCallback │─▶│_updateOrDisposeSelectionOverlayIfN│ +// └───────────────────────┘ └───────────────────────────────────┘ +// │ +// │ +// ▼ +// ┌────────────┐ +// │ setState │ make the RenderState to rebuild +// └────────────┘ + + +``` \ No newline at end of file