[PR #4397] [MERGED] feat: add basic relation field #6233

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

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/4397
Author: @richardshiue
Created: 1/15/2024
Status: Merged
Merged: 2/29/2024
Merged by: @appflowy

Base: mainHead: feat/relation-field


📝 Commits (10+)

  • 29be7f0 feat: add basic relation field
  • edd9d76 fix: clippy
  • 715e153 fix: tauri build 🤞
  • cac7049 chore: merge remote-tracking branch 'upstream/main' into feat/relation-field
  • 23be449 chore: merge changes
  • 1012bff chore: merge remote-tracking branch 'upstream/main' into feat/relation-field
  • c7771fa fix: merge main
  • 0bfa36b chore: initial code review pass
  • 2a8dbf2 fix: rust-lib test
  • 7e02287 chore: merge remote-tracking branch 'upstream/main' into feat/relation-field

📊 Changes

54 files changed (+1804 additions, -34 deletions)

View changed files

frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/relation_cell_bloc.dart (+139 -0)
frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/relation_row_search_bloc.dart (+77 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_controller_builder.dart (+14 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_data_loader.dart (+7 -0)
frontend/appflowy_flutter/lib/plugins/database/application/cell/relation_cell_service.dart (+0 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/application/field/type_option/type_option_data_parser.dart (+8 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/grid/application/filter/filter_create_bloc.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/field_type_list.dart (+14 -1)
📝 frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/type_option/builder.dart (+2 -0)
frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/type_option/relation.dart (+160 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_builder.dart (+7 -0)
frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_skeleton/relation_card_cell.dart (+82 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/calendar_card_cell_style.dart (+6 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/desktop_board_card_cell_style.dart (+6 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/mobile_board_card_cell_style.dart (+6 -0)
frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_grid/desktop_grid_relation_cell.dart (+58 -0)
frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart (+61 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_builder.dart (+15 -0)
frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_skeleton/relation.dart (+94 -0)
frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_grid/mobile_grid_relation_cell.dart (+54 -0)

...and 34 more files

📄 Description

The feature is hidden behind a feature flag. To enable it, add FieldType.Relation to _supportedFieldTypes in appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/field_type_list.dart.

image image image

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/4397 **Author:** [@richardshiue](https://github.com/richardshiue) **Created:** 1/15/2024 **Status:** ✅ Merged **Merged:** 2/29/2024 **Merged by:** [@appflowy](https://github.com/appflowy) **Base:** `main` ← **Head:** `feat/relation-field` --- ### 📝 Commits (10+) - [`29be7f0`](https://github.com/AppFlowy-IO/AppFlowy/commit/29be7f05a01596a39d5e09e9435a4d35c24b21d2) feat: add basic relation field - [`edd9d76`](https://github.com/AppFlowy-IO/AppFlowy/commit/edd9d7618dae177a2955b1eb89bb4091979a10be) fix: clippy - [`715e153`](https://github.com/AppFlowy-IO/AppFlowy/commit/715e153360316cea87de7d11b90a945e53a9f738) fix: tauri build 🤞 - [`cac7049`](https://github.com/AppFlowy-IO/AppFlowy/commit/cac70493539bc0c4a412b2b05a53ef29a0612fca) chore: merge remote-tracking branch 'upstream/main' into feat/relation-field - [`23be449`](https://github.com/AppFlowy-IO/AppFlowy/commit/23be4495e32d2a06673a17093e5d044fbc7f5bce) chore: merge changes - [`1012bff`](https://github.com/AppFlowy-IO/AppFlowy/commit/1012bffbf0a5eed165e2e36d6599554b89602b0f) chore: merge remote-tracking branch 'upstream/main' into feat/relation-field - [`c7771fa`](https://github.com/AppFlowy-IO/AppFlowy/commit/c7771faa832f71a08877c907d7cd713634a37cae) fix: merge main - [`0bfa36b`](https://github.com/AppFlowy-IO/AppFlowy/commit/0bfa36bc0d45dce757c753b8e53114ad50db449f) chore: initial code review pass - [`2a8dbf2`](https://github.com/AppFlowy-IO/AppFlowy/commit/2a8dbf20a9216ed3b2d2e4e2db102a65ac096295) fix: rust-lib test - [`7e02287`](https://github.com/AppFlowy-IO/AppFlowy/commit/7e0228764445026b510af13a910f189cd59195d8) chore: merge remote-tracking branch 'upstream/main' into feat/relation-field ### 📊 Changes **54 files changed** (+1804 additions, -34 deletions) <details> <summary>View changed files</summary> ➕ `frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/relation_cell_bloc.dart` (+139 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/relation_row_search_bloc.dart` (+77 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_controller_builder.dart` (+14 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_data_loader.dart` (+7 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/application/cell/relation_cell_service.dart` (+0 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/field/type_option/type_option_data_parser.dart` (+8 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/grid/application/filter/filter_create_bloc.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/field_type_list.dart` (+14 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/type_option/builder.dart` (+2 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/type_option/relation.dart` (+160 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_builder.dart` (+7 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_skeleton/relation_card_cell.dart` (+82 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/calendar_card_cell_style.dart` (+6 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/desktop_board_card_cell_style.dart` (+6 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/card_cell_style_maps/mobile_board_card_cell_style.dart` (+6 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_grid/desktop_grid_relation_cell.dart` (+58 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart` (+61 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_builder.dart` (+15 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_skeleton/relation.dart` (+94 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_grid/mobile_grid_relation_cell.dart` (+54 -0) _...and 34 more files_ </details> ### 📄 Description The feature is hidden behind a feature flag. To enable it, add `FieldType.Relation` to `_supportedFieldTypes` in `appflowy_flutter/lib/plugins/database/grid/presentation/widgets/header/field_type_list.dart`. <img width="542" alt="image" src="https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/c61adba9-2665-4185-8056-cd7499478aca"> <img width="430" alt="image" src="https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/d83fa5cb-7b7b-4dc8-b043-95daa8b307bf"> <img width="443" alt="image" src="https://github.com/AppFlowy-IO/AppFlowy/assets/71320345/6842d331-a959-444c-bbc8-6cbb09158e24"> ### 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 - [ ] 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:22:18 +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#6233
No description provided.