[PR #7001] [MERGED] feat: support table block on mobile #7681

Closed
opened 2026-03-23 23:20:44 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/7001
Author: @LucasXu0
Created: 12/17/2024
Status: Merged
Merged: 12/23/2024
Merged by: @LucasXu0

Base: mainHead: m_table


📝 Commits (10+)

  • afb8191 feat: support inserting table from + menu
  • 7e8436c feat: support row/column action sheet
  • 0bfd5f3 feat: highlight reorder button
  • 8bacfe4 feat: support table action mobile
  • 3760747 feat: support insert row / insert column
  • 4f0f9aa feat: add more actions in the table bottom sheet
  • 33f4b1b feat: implement the action logic for table action menu
  • 762c6be feat: support clear content
  • 43c57ea feat: enable header column / header row
  • b4f43d8 fix: unable to cancel highlight status after closing table action menu

📊 Changes

61 files changed (+4274 additions, -949 deletions)

View changed files

📝 frontend/appflowy_flutter/ios/Podfile.lock (+6 -0)
📝 frontend/appflowy_flutter/lib/mobile/application/page_style/document_page_style_bloc.dart (+7 -6)
📝 frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_buttons.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/show_mobile_bottom_sheet.dart (+16 -5)
📝 frontend/appflowy_flutter/lib/plugins/document/application/document_validator.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_configuration.dart (+40 -9)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_page.dart (+5 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_option_cubit.dart (+7 -7)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/draggable_option_button.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/draggable_option_button_feedback.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/util.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/mobile_block_action_buttons.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/markdown_text_robot.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/code_block/code_block_copy_button.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/copy_and_paste/clipboard_service.dart (+60 -14)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/copy_and_paste/custom_copy_command.dart (+4 -4)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/heading/heading_toolbar_item.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/aa_menu/_color_list.dart (+8 -6)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/add_block_toolbar_item.dart (+25 -3)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/util.dart (+2 -3)

...and 41 more files

📄 Description

Feature Preview

Screenshot 2024-12-20 at 16 21 43 Screenshot 2024-12-20 at 16 22 00
  • show the menu buttons when selecting a cell
    • row action menu
    • column action menu
    • table action menu
      • align
      • set to page width
      • distribute columns evenly
      • duplicate table
      • copy link to block
      • cut
      • copy
      • paste
      • delete
  • table action menu
    • define copy/paste protocol for the table block
    • copy
    • paste
    • cut
      • disable it if no content in clipboard
    • delete
    • insert above / insert below
    • insert left / insert right
    • Bold
    • Text color
    • Cell background color
    • align menu
    • header row / column
    • set to page width / distribute columns evenly
    • duplicate row / column
    • clear content
  • + menu support
  • drag to reorder (implement it in the next PR)
  • resize (implement it in the next PR)
  • tests

PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

🔄 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/7001 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 12/17/2024 **Status:** ✅ Merged **Merged:** 12/23/2024 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `m_table` --- ### 📝 Commits (10+) - [`afb8191`](https://github.com/AppFlowy-IO/AppFlowy/commit/afb819106a1430109af3b4536a50ff3c8245d17b) feat: support inserting table from + menu - [`7e8436c`](https://github.com/AppFlowy-IO/AppFlowy/commit/7e8436cd294dec8b3a7383a3a8be71dce5bc3a3b) feat: support row/column action sheet - [`0bfd5f3`](https://github.com/AppFlowy-IO/AppFlowy/commit/0bfd5f335339daa6b0c2d03a3f0610bd2e699526) feat: highlight reorder button - [`8bacfe4`](https://github.com/AppFlowy-IO/AppFlowy/commit/8bacfe4b2c26b097e773abdcf6c685f262dd0158) feat: support table action mobile - [`3760747`](https://github.com/AppFlowy-IO/AppFlowy/commit/37607475b944cdc7d76a12112d819a96991bffad) feat: support insert row / insert column - [`4f0f9aa`](https://github.com/AppFlowy-IO/AppFlowy/commit/4f0f9aaec46fc169add3fe4e9c6f325ce6dd7684) feat: add more actions in the table bottom sheet - [`33f4b1b`](https://github.com/AppFlowy-IO/AppFlowy/commit/33f4b1b0b9b5dfa24f232a1d1272e750dfa7d57a) feat: implement the action logic for table action menu - [`762c6be`](https://github.com/AppFlowy-IO/AppFlowy/commit/762c6bed39be9ee27af26078d552adc28a58db04) feat: support clear content - [`43c57ea`](https://github.com/AppFlowy-IO/AppFlowy/commit/43c57ea630a8a287cc758929897f479c59c497c8) feat: enable header column / header row - [`b4f43d8`](https://github.com/AppFlowy-IO/AppFlowy/commit/b4f43d8b3c0ba74b5ec07c02fbaa914bf5e7a67c) fix: unable to cancel highlight status after closing table action menu ### 📊 Changes **61 files changed** (+4274 additions, -949 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/ios/Podfile.lock` (+6 -0) 📝 `frontend/appflowy_flutter/lib/mobile/application/page_style/document_page_style_bloc.dart` (+7 -6) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_buttons.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/show_mobile_bottom_sheet.dart` (+16 -5) 📝 `frontend/appflowy_flutter/lib/plugins/document/application/document_validator.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_configuration.dart` (+40 -9) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_page.dart` (+5 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/block_action_option_cubit.dart` (+7 -7) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/draggable_option_button.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/draggable_option_button_feedback.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/drag_to_reorder/util.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/actions/mobile_block_action_buttons.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/markdown_text_robot.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/code_block/code_block_copy_button.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/copy_and_paste/clipboard_service.dart` (+60 -14) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/copy_and_paste/custom_copy_command.dart` (+4 -4) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/heading/heading_toolbar_item.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/aa_menu/_color_list.dart` (+8 -6) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/add_block_toolbar_item.dart` (+25 -3) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/mobile_toolbar_v3/util.dart` (+2 -3) _...and 41 more files_ </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview <img width="566" alt="Screenshot 2024-12-20 at 16 21 43" src="https://github.com/user-attachments/assets/8f749953-8424-4ba7-868c-b4e69221646c" /> <img width="566" alt="Screenshot 2024-12-20 at 16 22 00" src="https://github.com/user-attachments/assets/208ca11e-e543-4b8b-80f9-b76ada8ee13e" /> - [x] show the menu buttons when selecting a cell - [x] row action menu - [x] column action menu - [x] table action menu - [x] align - [x] set to page width - [x] distribute columns evenly - [x] duplicate table - [x] copy link to block - [x] cut - [x] copy - [x] paste - [x] delete - [x] table action menu - [x] define copy/paste protocol for the table block - [x] copy - [x] paste - [x] cut - [x] disable it if no content in clipboard - [x] delete - [x] insert above / insert below - [x] insert left / insert right - [x] Bold - [x] Text color - [x] Cell background color - [x] align menu - [x] header row / column - [x] set to page width / distribute columns evenly - [x] duplicate row / column - [x] clear content - [x] + menu support - [ ] ~~drag to reorder~~ (implement it in the next PR) - [ ] ~~resize~~ (implement it in the next PR) - [x] tests <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [x] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [x] I've listed at least one issue that this PR fixes in the description above. - [x] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [x] All existing tests are passing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:20:44 +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#7681
No description provided.