[PR #1941] [MERGED] chore: calendar UI improvements #5032

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

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/1941
Author: @richardshiue
Created: 3/8/2023
Status: Merged
Merged: 3/20/2023
Merged by: @appflowy

Base: mainHead: feat-calendar-view-4


📝 Commits (10+)

  • c7bedd9 chore: enable calendar
  • f6dd9e9 chore: Merge branch 'main' into feat-calendar-view-4
  • c192743 feat: set font of the day event widget
  • 34fb25f feat: support add/remove event
  • 4102b31 chore: initial settings popover
  • e018e69 chore: calendar bloc can update layout settings
  • c7c7a01 fix: events overflow in day cell
  • fedc0f3 feat: calendar layout settings UI
  • f9a483f feat: layout calendar by another date field
  • 381ba1e chore: i18n

📊 Changes

23 files changed (+1336 additions, -327 deletions)

View changed files

📝 frontend/appflowy_flutter/assets/translations/en.json (+8 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart (+42 -10)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/defines.dart (+7 -2)
frontend/appflowy_flutter/lib/plugins/database_view/application/layout/calendar_setting_listener.dart (+49 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_cache.dart (+9 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_list.dart (+11 -11)
📝 frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_cache.dart (+62 -17)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart (+135 -36)
frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart (+55 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/calendar.dart (+1 -1)
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart (+267 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart (+58 -228)
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_layout_setting.dart (+410 -0)
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_setting.dart (+112 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_toolbar.dart (+67 -7)
📝 frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_cell_builder.dart (+3 -0)
📝 frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/card_cell.dart (+13 -2)
📝 frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart (+4 -1)
📝 frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart (+20 -5)

...and 3 more files

📄 Description

This PR adds many of the UI components for the calendar view of the database, including:

  • Adding new events and making them show up in the calendar
  • Editing existing events in a popup window by clicking on the event
  • Configure which date field should be used to layout the calendar (with bugs, see below)
  • Configure whether Sunday or Monday is the first day of the week (with bugs, see below)

Known limitations and bugs:

  • Popover mutex not implemented, resulting in multiple popovers being instantiated near the setting button (fixed)
  • Changing the calendar layout field does not clear the existing events, but just adds on top of them (fixed)
  • The actual date seen in the popup window of an event is behind by one day.

Type of change

  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

  • Passes existing tests

Checklist

  • I have performed a self-review of my own code
  • I have commented on my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

🔄 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/1941 **Author:** [@richardshiue](https://github.com/richardshiue) **Created:** 3/8/2023 **Status:** ✅ Merged **Merged:** 3/20/2023 **Merged by:** [@appflowy](https://github.com/appflowy) **Base:** `main` ← **Head:** `feat-calendar-view-4` --- ### 📝 Commits (10+) - [`c7bedd9`](https://github.com/AppFlowy-IO/AppFlowy/commit/c7bedd9464beee84d5124a8451fe44714f576e2f) chore: enable calendar - [`f6dd9e9`](https://github.com/AppFlowy-IO/AppFlowy/commit/f6dd9e98da3f563f274a6c28374019b08d47b212) chore: Merge branch 'main' into feat-calendar-view-4 - [`c192743`](https://github.com/AppFlowy-IO/AppFlowy/commit/c192743e181aeb6e7bfbe0d87ac9910a6a5bf980) feat: set font of the day event widget - [`34fb25f`](https://github.com/AppFlowy-IO/AppFlowy/commit/34fb25f0eaf268de1b4c1327ffc0cfae329665d0) feat: support add/remove event - [`4102b31`](https://github.com/AppFlowy-IO/AppFlowy/commit/4102b3161c7b518efa723d6f421c46a8f060a151) chore: initial settings popover - [`e018e69`](https://github.com/AppFlowy-IO/AppFlowy/commit/e018e6900734eda2c709dcc33c28b6abb5d1361f) chore: calendar bloc can update layout settings - [`c7c7a01`](https://github.com/AppFlowy-IO/AppFlowy/commit/c7c7a014480aa3061b06132c857ba02d61bf8f79) fix: events overflow in day cell - [`fedc0f3`](https://github.com/AppFlowy-IO/AppFlowy/commit/fedc0f3c5c138db9165cdc4e7d9e92166bc836d1) feat: calendar layout settings UI - [`f9a483f`](https://github.com/AppFlowy-IO/AppFlowy/commit/f9a483fe68d0e9bffa6e5726d25170e72e6ee934) feat: layout calendar by another date field - [`381ba1e`](https://github.com/AppFlowy-IO/AppFlowy/commit/381ba1e48d7105a66dcb3ff05667e752cd74509f) chore: i18n ### 📊 Changes **23 files changed** (+1336 additions, -327 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/assets/translations/en.json` (+8 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart` (+42 -10) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/defines.dart` (+7 -2) ➕ `frontend/appflowy_flutter/lib/plugins/database_view/application/layout/calendar_setting_listener.dart` (+49 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_cache.dart` (+9 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_list.dart` (+11 -11) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_cache.dart` (+62 -17) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart` (+135 -36) ➕ `frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart` (+55 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/calendar.dart` (+1 -1) ➕ `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart` (+267 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_page.dart` (+58 -228) ➕ `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_layout_setting.dart` (+410 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_setting.dart` (+112 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_toolbar.dart` (+67 -7) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_cell_builder.dart` (+3 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/card_cell.dart` (+13 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart` (+4 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/text_card_cell.dart` (+20 -5) _...and 3 more files_ </details> ### 📄 Description This PR adds many of the UI components for the calendar view of the database, including: - Adding new events and making them show up in the calendar - Editing existing events in a popup window by clicking on the event - Configure which date field should be used to layout the calendar ~~(with bugs, see below)~~ - Configure whether Sunday or Monday is the first day of the week ~~(with bugs, see below)~~ Known limitations and bugs: - ~~Popover mutex not implemented, resulting in multiple popovers being instantiated near the setting button~~ (fixed) - ~~Changing the calendar layout field does not clear the existing events, but just adds on top of them~~ (fixed) - The actual date seen in the popup window of an event is behind by one day. ## Type of change - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] This change requires a documentation update ## How Has This Been Tested? Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. - [x] Passes existing tests ## Checklist - [x] I have performed a self-review of my own code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [x] Any dependent changes have been merged and published in downstream modules --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 22:16:55 +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#5032
No description provided.