[PR #667] [MERGED] feat: render selection and cursor. #4271

Closed
opened 2026-03-23 21:37:04 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/667
Author: @LucasXu0
Created: 7/21/2022
Status: Merged
Merged: 7/25/2022
Merged by: @appflowy

Base: feat/flowy_editorHead: feat/flowy_editor


📝 Commits (10+)

  • e2f35dd feat: support selection overlay
  • e3e1d25 feat: hide overlay when tap on the editor
  • d200371 feat: add keyboard and cursor
  • eb97141 feat: remove subtype render
  • a831ddc refactor: abstract selection and keyboard from editor state
  • c643c02 feat: add keyboard example
  • 34a1da8 chore: delete unused code
  • 6c811ae Merge branch 'feat/flowy_editor' into feat/flowy_editor
  • e16444f fix: make sure the state is implemnt selectable, otherwise return.
  • a6ede7d feat: add a floating cursor and follow the document scroll. refactor the keyboard handler to a Function.

📊 Changes

24 files changed (+1326 additions, -106 deletions)

View changed files

frontend/app_flowy/packages/flowy_editor/example/.vscode/launch.json (+25 -0)
📝 frontend/app_flowy/packages/flowy_editor/example/assets/document.json (+226 -75)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/main.dart (+6 -2)
frontend/app_flowy/packages/flowy_editor/example/lib/plugin/debuggable_rich_text.dart (+102 -0)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/plugin/document_node_widget.dart (+2 -0)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/plugin/image_node_widget.dart (+35 -2)
frontend/app_flowy/packages/flowy_editor/example/lib/plugin/selected_text_node_widget.dart (+267 -0)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_node_widget.dart (+4 -9)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_with_check_box_node_widget.dart (+1 -0)
📝 frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_with_heading_node_widget.dart (+3 -2)
📝 frontend/app_flowy/packages/flowy_editor/lib/document/node.dart (+7 -4)
📝 frontend/app_flowy/packages/flowy_editor/lib/editor_state.dart (+11 -3)
frontend/app_flowy/packages/flowy_editor/lib/extensions/object_extensions.dart (+8 -0)
📝 frontend/app_flowy/packages/flowy_editor/lib/flowy_editor.dart (+3 -0)
📝 frontend/app_flowy/packages/flowy_editor/lib/render/node_widget_builder.dart (+17 -9)
📝 frontend/app_flowy/packages/flowy_editor/lib/render/render_plugins.dart (+4 -0)
frontend/app_flowy/packages/flowy_editor/lib/render/selection/flowy_cursor_widget.dart (+60 -0)
frontend/app_flowy/packages/flowy_editor/lib/render/selection/flowy_selection_widget.dart (+34 -0)
frontend/app_flowy/packages/flowy_editor/lib/render/selection/selectable.dart (+19 -0)
frontend/app_flowy/packages/flowy_editor/lib/service/editor_service.dart (+42 -0)

...and 4 more files

📄 Description

#633


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/667 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 7/21/2022 **Status:** ✅ Merged **Merged:** 7/25/2022 **Merged by:** [@appflowy](https://github.com/appflowy) **Base:** `feat/flowy_editor` ← **Head:** `feat/flowy_editor` --- ### 📝 Commits (10+) - [`e2f35dd`](https://github.com/AppFlowy-IO/AppFlowy/commit/e2f35dd5ccb4c51109684a8255b72b1e3edec361) feat: support selection overlay - [`e3e1d25`](https://github.com/AppFlowy-IO/AppFlowy/commit/e3e1d254946a4eb47819ba540b5dc81ed4255753) feat: hide overlay when tap on the editor - [`d200371`](https://github.com/AppFlowy-IO/AppFlowy/commit/d200371002758540eb95934538bf480b7b582940) feat: add keyboard and cursor - [`eb97141`](https://github.com/AppFlowy-IO/AppFlowy/commit/eb97141859594b789da08a2d5140659c9e30ff81) feat: remove subtype render - [`a831ddc`](https://github.com/AppFlowy-IO/AppFlowy/commit/a831ddc5895ac4c85c2cd120b8adf857b7ca4e49) refactor: abstract selection and keyboard from editor state - [`c643c02`](https://github.com/AppFlowy-IO/AppFlowy/commit/c643c02887d0b28fb634798c865717f550a2c5ac) feat: add keyboard example - [`34a1da8`](https://github.com/AppFlowy-IO/AppFlowy/commit/34a1da8450573483a1f8e3ac7b416eb8479f368d) chore: delete unused code - [`6c811ae`](https://github.com/AppFlowy-IO/AppFlowy/commit/6c811aef728d882f1b6b3e8b28ae2e57ac785a08) Merge branch 'feat/flowy_editor' into feat/flowy_editor - [`e16444f`](https://github.com/AppFlowy-IO/AppFlowy/commit/e16444f88e7ac956bdeee70e074e4febdd49509d) fix: make sure the state is implemnt selectable, otherwise return. - [`a6ede7d`](https://github.com/AppFlowy-IO/AppFlowy/commit/a6ede7dc7532246c3c99066792df45ddad89e0a6) feat: add a floating cursor and follow the document scroll. refactor the keyboard handler to a Function. ### 📊 Changes **24 files changed** (+1326 additions, -106 deletions) <details> <summary>View changed files</summary> ➕ `frontend/app_flowy/packages/flowy_editor/example/.vscode/launch.json` (+25 -0) 📝 `frontend/app_flowy/packages/flowy_editor/example/assets/document.json` (+226 -75) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/main.dart` (+6 -2) ➕ `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/debuggable_rich_text.dart` (+102 -0) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/document_node_widget.dart` (+2 -0) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/image_node_widget.dart` (+35 -2) ➕ `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/selected_text_node_widget.dart` (+267 -0) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_node_widget.dart` (+4 -9) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_with_check_box_node_widget.dart` (+1 -0) 📝 `frontend/app_flowy/packages/flowy_editor/example/lib/plugin/text_with_heading_node_widget.dart` (+3 -2) 📝 `frontend/app_flowy/packages/flowy_editor/lib/document/node.dart` (+7 -4) 📝 `frontend/app_flowy/packages/flowy_editor/lib/editor_state.dart` (+11 -3) ➕ `frontend/app_flowy/packages/flowy_editor/lib/extensions/object_extensions.dart` (+8 -0) 📝 `frontend/app_flowy/packages/flowy_editor/lib/flowy_editor.dart` (+3 -0) 📝 `frontend/app_flowy/packages/flowy_editor/lib/render/node_widget_builder.dart` (+17 -9) 📝 `frontend/app_flowy/packages/flowy_editor/lib/render/render_plugins.dart` (+4 -0) ➕ `frontend/app_flowy/packages/flowy_editor/lib/render/selection/flowy_cursor_widget.dart` (+60 -0) ➕ `frontend/app_flowy/packages/flowy_editor/lib/render/selection/flowy_selection_widget.dart` (+34 -0) ➕ `frontend/app_flowy/packages/flowy_editor/lib/render/selection/selectable.dart` (+19 -0) ➕ `frontend/app_flowy/packages/flowy_editor/lib/service/editor_service.dart` (+42 -0) _...and 4 more files_ </details> ### 📄 Description #633 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 21:37:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#4271
No description provided.