[PR #5747] feat: time field time type and time tracks #6985

Open
opened 2026-03-23 23:17:35 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/5747
Author: @zoli
Created: 7/16/2024
Status: 🔄 Open

Base: mainHead: feat/time-field-type-options


📝 Commits (10+)

  • a15d012 feat: time field time type and time tracks backend
  • 293493a fix: calculate timer and timer_start based on precision
  • 8f62cf7 feat: time field time type and time tracks frontend
  • 75982ad fix: no need to convert precision on apply changeset
  • 955db64 style: merge main
  • bb9aa69 fix: plain time time type fix updating
  • e3cf316 feat: wip time field time tracking button
  • 9b132ce feat: time track button
  • 31305d2 feat: on tracking periodically update time cell
  • 41c3225 feat: use translation

📊 Changes

46 files changed (+2711 additions, -507 deletions)

View changed files

📝 frontend/appflowy_flutter/integration_test/desktop/board/board_field_test.dart (+37 -2)
📝 frontend/appflowy_flutter/integration_test/desktop/board/board_group_test.dart (+58 -3)
📝 frontend/appflowy_flutter/integration_test/desktop/board/board_row_test.dart (+0 -54)
📝 frontend/appflowy_flutter/integration_test/desktop/board/board_test_runner.dart (+2 -0)
frontend/appflowy_flutter/integration_test/desktop/database/database_time_field_test.dart (+301 -0)
📝 frontend/appflowy_flutter/integration_test/desktop_runner_2.dart (+3 -0)
📝 frontend/appflowy_flutter/integration_test/shared/common_operations.dart (+0 -1)
📝 frontend/appflowy_flutter/integration_test/shared/database_test_op.dart (+39 -2)
📝 frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_field_bottom_sheets.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/time_cell_bloc.dart (+86 -28)
frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/time_cell_editor_bloc.dart (+134 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_controller.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/database/application/field/type_option/type_option_data_parser.dart (+7 -0)
frontend/appflowy_flutter/lib/plugins/database/domain/time_cell_service.dart (+83 -0)
📝 frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/filter_menu_item.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_grid/desktop_grid_time_cell.dart (+202 -4)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_time_cell.dart (+55 -21)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_skeleton/time.dart (+22 -6)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_grid/mobile_grid_time_cell.dart (+7 -1)
📝 frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_row_detail/mobile_row_detail_time_cell.dart (+7 -1)

...and 26 more files

📄 Description

Continuing on #4083 I added time type and precision for time field type. Now you can choose from edit property that the time type is "Plain Time", "Stopwatch" (count up), "Timer" (count down).

It's not completed yet tracking feature is missing plus some bug fixes. So I will make this a draft PR. Just wanted to add a preview here and maybe discuss some specifics.

IMO time field with tracking, count up, count down features along with some other features (i.e. calculating the total time of all rows) will help users to use AppFlowy as a To-do list with time tracking included.

Feature Preview

VID_20240716_213606_047.webm


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/5747 **Author:** [@zoli](https://github.com/zoli) **Created:** 7/16/2024 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/time-field-type-options` --- ### 📝 Commits (10+) - [`a15d012`](https://github.com/AppFlowy-IO/AppFlowy/commit/a15d012e66ad464f274e6965fc7cef3fc5fef05e) feat: time field time type and time tracks backend - [`293493a`](https://github.com/AppFlowy-IO/AppFlowy/commit/293493a98f6909e9271d619a5cd3f42fd6c4a2b5) fix: calculate timer and timer_start based on precision - [`8f62cf7`](https://github.com/AppFlowy-IO/AppFlowy/commit/8f62cf778ba58e0acd8faea84b6f9bac76b27ba8) feat: time field time type and time tracks frontend - [`75982ad`](https://github.com/AppFlowy-IO/AppFlowy/commit/75982add6d546829d6c36455271d1a669d3eb847) fix: no need to convert precision on apply changeset - [`955db64`](https://github.com/AppFlowy-IO/AppFlowy/commit/955db64efe95c39cf6553a5f7177399f9cbac2a8) style: merge main - [`bb9aa69`](https://github.com/AppFlowy-IO/AppFlowy/commit/bb9aa69cbd529dc3ff57cd4e439d9c1534b89d98) fix: plain time time type fix updating - [`e3cf316`](https://github.com/AppFlowy-IO/AppFlowy/commit/e3cf316f2af172a4426a040a3fafcdc8e6dd5364) feat: wip time field time tracking button - [`9b132ce`](https://github.com/AppFlowy-IO/AppFlowy/commit/9b132ce8814e0f0951959090123d488af225358c) feat: time track button - [`31305d2`](https://github.com/AppFlowy-IO/AppFlowy/commit/31305d2c9c2ea9822cc88820f01c100850b73087) feat: on tracking periodically update time cell - [`41c3225`](https://github.com/AppFlowy-IO/AppFlowy/commit/41c3225b150785074202313aebe9b67e01d18522) feat: use translation ### 📊 Changes **46 files changed** (+2711 additions, -507 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/integration_test/desktop/board/board_field_test.dart` (+37 -2) 📝 `frontend/appflowy_flutter/integration_test/desktop/board/board_group_test.dart` (+58 -3) 📝 `frontend/appflowy_flutter/integration_test/desktop/board/board_row_test.dart` (+0 -54) 📝 `frontend/appflowy_flutter/integration_test/desktop/board/board_test_runner.dart` (+2 -0) ➕ `frontend/appflowy_flutter/integration_test/desktop/database/database_time_field_test.dart` (+301 -0) 📝 `frontend/appflowy_flutter/integration_test/desktop_runner_2.dart` (+3 -0) 📝 `frontend/appflowy_flutter/integration_test/shared/common_operations.dart` (+0 -1) 📝 `frontend/appflowy_flutter/integration_test/shared/database_test_op.dart` (+39 -2) 📝 `frontend/appflowy_flutter/lib/mobile/presentation/database/field/mobile_field_bottom_sheets.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/time_cell_bloc.dart` (+86 -28) ➕ `frontend/appflowy_flutter/lib/plugins/database/application/cell/bloc/time_cell_editor_bloc.dart` (+134 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/cell/cell_controller.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database/application/field/type_option/type_option_data_parser.dart` (+7 -0) ➕ `frontend/appflowy_flutter/lib/plugins/database/domain/time_cell_service.dart` (+83 -0) 📝 `frontend/appflowy_flutter/lib/plugins/database/grid/presentation/widgets/filter/filter_menu_item.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_grid/desktop_grid_time_cell.dart` (+202 -4) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_time_cell.dart` (+55 -21) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/editable_cell_skeleton/time.dart` (+22 -6) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_grid/mobile_grid_time_cell.dart` (+7 -1) 📝 `frontend/appflowy_flutter/lib/plugins/database/widgets/cell/mobile_row_detail/mobile_row_detail_time_cell.dart` (+7 -1) _...and 26 more files_ </details> ### 📄 Description Continuing on #4083 I added time type and precision for time field type. Now you can choose from edit property that the time type is "Plain Time", "Stopwatch" (count up), "Timer" (count down). It's not completed yet tracking feature is missing plus some bug fixes. So I will make this a draft PR. Just wanted to add a preview here and maybe discuss some specifics. IMO time field with tracking, count up, count down features along with some other features (i.e. calculating the total time of all rows) will help users to use AppFlowy as a To-do list with time tracking included. ### Feature Preview [VID_20240716_213606_047.webm](https://github.com/user-attachments/assets/2baa7deb-afb3-486a-b8a0-865f5098759a) --- <!--- 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>
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#6985
No description provided.