[PR #3981] [MERGED] chore: field editing bloc refactor and add mobile field editor #5982

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

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/3981
Author: @richardshiue
Created: 11/21/2023
Status: Merged
Merged: 11/23/2023
Merged by: @LucasXu0

Base: mainHead: mobile-grid-page


📝 Commits (8)

📊 Changes

50 files changed (+999 additions, -1115 deletions)

View changed files

📝 frontend/appflowy_flutter/integration_test/database_cell_test.dart (+1 -1)
📝 frontend/appflowy_flutter/integration_test/database_field_test.dart (+1 -1)
📝 frontend/appflowy_flutter/integration_test/database_row_page_test.dart (+0 -1)
📝 frontend/appflowy_flutter/integration_test/util/database_test_op.dart (+11 -4)
frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_database_field_editor.dart (+211 -0)
frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_database_field_header.dart (+52 -0)
📝 frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_rename_widget.dart (+6 -9)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/mobile_card_detail_screen.dart (+6 -0)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/mobile_create_row_field_screen.dart (+7 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_create_row_field_button.dart (+8 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_field_name_text_field.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_row_property_list.dart (+8 -0)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_property_edit/card_property_edit_screen.dart (+6 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_property_edit/mobile_field_editor.dart (+25 -28)
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart (+0 -108)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart (+89 -66)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart (+0 -5)
📝 frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart (+4 -2)
📝 frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/widgets/board_hidden_groups.dart (+2 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart (+1 -0)

...and 30 more files

📄 Description

  • Reliance on field controller stems from requiring FieldInfo and not simply the FieldPB. This will no longer be necessary after field info refactor https://github.com/AppFlowy-IO/AppFlowy/pull/3633

  • Need to wait 50 milliseconds for the field controller's fields to be correct in tests. this will also no longer be necessary after the field info refactor

  • GridFieldActionSheetBloc has been merged into FieldEditorBloc. Now the latter serves both menus (shown in the screenshots below)

  • The edit property page will come in the next PR. This one is too big already.

  1. Adjust the field edit menu on grid, row detail page and left-side setting toolbar dropdown.

    image

    image

  2. Add a field editing bottom sheet

    Screenshot 2023-11-21 at 11 15 20 PM

TODO:

  • fix field delete on desktop
  • make the mobile bottom sheet work

Feature Preview


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/3981 **Author:** [@richardshiue](https://github.com/richardshiue) **Created:** 11/21/2023 **Status:** ✅ Merged **Merged:** 11/23/2023 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `mobile-grid-page` --- ### 📝 Commits (8) - [`4e82dbf`](https://github.com/AppFlowy-IO/AppFlowy/commit/4e82dbf5508bbfba6798b1b220d2b6b2d77b643f) chore: field editor refactor - [`37c6d10`](https://github.com/AppFlowy-IO/AppFlowy/commit/37c6d102a7daa0b992e79dd4fb1967a286c25770) chore: field name initialize - [`8187f49`](https://github.com/AppFlowy-IO/AppFlowy/commit/8187f49c4eb83a028f4230b2bc287dad4a308661) fix: async stuff - [`7ffd600`](https://github.com/AppFlowy-IO/AppFlowy/commit/7ffd600aa35eaff2dddb45b4e7e4a905b3c40b95) fix: buy one get one free - [`4a1bfdc`](https://github.com/AppFlowy-IO/AppFlowy/commit/4a1bfdcb95778f81b5f9ba84d908bc02066d0510) test: fix tests - [`e6d6946`](https://github.com/AppFlowy-IO/AppFlowy/commit/e6d6946d4310e58bc9b9ddfb507941b1e19062a9) chore: YOLO - [`785a02f`](https://github.com/AppFlowy-IO/AppFlowy/commit/785a02f9657d787a1175147ae15cee7c8c754d89) chore: wait for it I guess - [`c8ad05c`](https://github.com/AppFlowy-IO/AppFlowy/commit/c8ad05ca164faa3322ca69b54f7ceab196b984f4) chore: apply suggestions from Lucas ### 📊 Changes **50 files changed** (+999 additions, -1115 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/integration_test/database_cell_test.dart` (+1 -1) 📝 `frontend/appflowy_flutter/integration_test/database_field_test.dart` (+1 -1) 📝 `frontend/appflowy_flutter/integration_test/database_row_page_test.dart` (+0 -1) 📝 `frontend/appflowy_flutter/integration_test/util/database_test_op.dart` (+11 -4) ➕ `frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_database_field_editor.dart` (+211 -0) ➕ `frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_database_field_header.dart` (+52 -0) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/bottom_sheet/bottom_sheet_rename_widget.dart` (+6 -9) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/mobile_card_detail_screen.dart` (+6 -0) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/mobile_create_row_field_screen.dart` (+7 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_create_row_field_button.dart` (+8 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_field_name_text_field.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/mobile_row_property_list.dart` (+8 -0) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_property_edit/card_property_edit_screen.dart` (+6 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_property_edit/mobile_field_editor.dart` (+25 -28) ➖ `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart` (+0 -108) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart` (+89 -66) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart` (+0 -5) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart` (+4 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/widgets/board_hidden_groups.dart` (+2 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart` (+1 -0) _...and 30 more files_ </details> ### 📄 Description - Reliance on field controller stems from requiring FieldInfo and not simply the FieldPB. This will no longer be necessary after field info refactor https://github.com/AppFlowy-IO/AppFlowy/pull/3633 - Need to wait 50 milliseconds for the field controller's fields to be correct in tests. this will also no longer be necessary after the field info refactor - GridFieldActionSheetBloc has been merged into FieldEditorBloc. Now the latter serves both menus (shown in the screenshots below) - The edit property page will come in the next PR. This one is too big already. 1. Adjust the field edit menu on grid, row detail page and left-side setting toolbar dropdown. ![image](https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/054c3c07-6c1f-4950-bc32-95c04aadfcdb) ![image](https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/8364e1cf-6d57-4425-9215-479b6adc5a8c) 2. Add a field editing bottom sheet ![Screenshot 2023-11-21 at 11 15 20 PM](https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/d26feb0a-0d48-4fa9-8e53-642c4bc817a8) TODO: - [x] fix field delete on desktop - [x] make the mobile bottom sheet work ### Feature Preview <!--- 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) - [ ] 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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 22:21:11 +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#5982
No description provided.