[PR #4118] [MERGED] refactor: order object position and field service #6070

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

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/4118
Author: @richardshiue
Created: 12/8/2023
Status: Merged
Merged: 12/11/2023
Merged by: @appflowy

Base: mainHead: refactor/order-object-position-and-field-service


📝 Commits (8)

  • 2a16e08 refactor: create OrderObjectPositionPB
  • 81646e2 refactor: use ObjectOrderPosition for creating rows
  • 04705e0 refactor: field backend service
  • 71b2fd2 refactor: use field_id for reordering fields
  • cedd77f style: reorder dependencies
  • 33a76cc fix: changes on tauri
  • 58069bb feat: insert row above
  • af5b99f chore: don't pass group_id while duplicating a row

📊 Changes

59 files changed (+700 additions, -702 deletions)

View changed files

📝 frontend/appflowy_flutter/lib/mobile/presentation/database/board/mobile_board_content.dart (+0 -1)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/_field_options_eidtor.dart (+1 -2)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart (+1 -49)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/database_view_service.dart (+0 -24)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_backend_service.dart (+12 -9)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart (+2 -21)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart (+94 -21)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_service.dart (+0 -32)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/field_settings/field_settings_service.dart (+3 -4)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_service.dart (+76 -14)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/setting/property_bloc.dart (+12 -18)
📝 frontend/appflowy_flutter/lib/plugins/database_view/board/application/board_bloc.dart (+18 -7)
📝 frontend/appflowy_flutter/lib/plugins/database_view/board/application/group_controller.dart (+5 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart (+0 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart (+12 -13)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart (+3 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart (+10 -7)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart (+14 -27)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_editor.dart (+6 -5)

...and 39 more files

📄 Description

requires https://github.com/AppFlowy-IO/AppFlowy-Collab/pull/110

This PR does several things. Please refer to commits for more details

  • use a common OrderObjectPositionPB for both field and row insertion in the frontend, extending the functionality of OrderObejctPosition from https://github.com/AppFlowy-IO/AppFlowy/pull/4022

  • allow inserting a new row above a row in Flutter (following above)

    image

  • refactor some field service functions on the Flutter side

  • use field_ids rather than field indices while reordering fields, which is more convenient and less prone to errors.

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/4118 **Author:** [@richardshiue](https://github.com/richardshiue) **Created:** 12/8/2023 **Status:** ✅ Merged **Merged:** 12/11/2023 **Merged by:** [@appflowy](https://github.com/appflowy) **Base:** `main` ← **Head:** `refactor/order-object-position-and-field-service` --- ### 📝 Commits (8) - [`2a16e08`](https://github.com/AppFlowy-IO/AppFlowy/commit/2a16e08ff1d90ef6728cb01235090c5325512792) refactor: create OrderObjectPositionPB - [`81646e2`](https://github.com/AppFlowy-IO/AppFlowy/commit/81646e27e2f2235a1aee25f6136429f9c0550207) refactor: use ObjectOrderPosition for creating rows - [`04705e0`](https://github.com/AppFlowy-IO/AppFlowy/commit/04705e0f428e1539451f99656616f9f6beb0f312) refactor: field backend service - [`71b2fd2`](https://github.com/AppFlowy-IO/AppFlowy/commit/71b2fd233fbab0e5fe19807ca0574af6b10822f2) refactor: use field_id for reordering fields - [`cedd77f`](https://github.com/AppFlowy-IO/AppFlowy/commit/cedd77f54294299d6982a15cc24492354a7493ea) style: reorder dependencies - [`33a76cc`](https://github.com/AppFlowy-IO/AppFlowy/commit/33a76ccb81971b4e97f164050b4aab2ad61a0d4a) fix: changes on tauri - [`58069bb`](https://github.com/AppFlowy-IO/AppFlowy/commit/58069bbc4bfc0293ad9769014c43ee180333dd84) feat: insert row above - [`af5b99f`](https://github.com/AppFlowy-IO/AppFlowy/commit/af5b99f7badf006bcace434a9ef6cb21803fd8b1) chore: don't pass group_id while duplicating a row ### 📊 Changes **59 files changed** (+700 additions, -702 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/board/mobile_board_content.dart` (+0 -1) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/card/card_detail/widgets/_field_options_eidtor.dart` (+1 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart` (+1 -49) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/database_view_service.dart` (+0 -24) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_backend_service.dart` (+12 -9) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart` (+2 -21) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart` (+94 -21) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_service.dart` (+0 -32) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/field_settings/field_settings_service.dart` (+3 -4) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_service.dart` (+76 -14) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/setting/property_bloc.dart` (+12 -18) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/board/application/board_bloc.dart` (+18 -7) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/board/application/group_controller.dart` (+5 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart` (+0 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart` (+12 -13) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart` (+3 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart` (+10 -7) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_bloc.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/application/row/row_detail_bloc.dart` (+14 -27) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_editor.dart` (+6 -5) _...and 39 more files_ </details> ### 📄 Description requires https://github.com/AppFlowy-IO/AppFlowy-Collab/pull/110 This PR does several things. Please refer to commits for more details - use a common `OrderObjectPositionPB` for both field and row insertion in the frontend, extending the functionality of `OrderObejctPosition` from https://github.com/AppFlowy-IO/AppFlowy/pull/4022 - allow inserting a new row above a row in Flutter (following above) ![image](https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/eb677f2c-76a9-4938-87ce-dffb29cd8484) - refactor some field service functions on the Flutter side - use `field_id`s rather than field indices while reordering fields, which is more convenient and less prone to errors. ### 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:35 +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#6070
No description provided.