From 7b93bbe5ffacf8d9d3b905fde2e6d0a0df9a608a Mon Sep 17 00:00:00 2001 From: Richard Shiue <71320345+richardshiue@users.noreply.github.com> Date: Mon, 9 Dec 2024 15:13:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(flutter=5Fdesktop):=20clicking=20on=20empty?= =?UTF-8?q?=20space=20when=20editing=20a=20cell=20sho=E2=80=A6=20(#6949)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(flutter_desktop): clicking on empty space when editing a cell shouldn't close event card * test: fix integration tests --- .../desktop/database/database_calendar_test.dart | 2 ++ .../cell/desktop_row_detail/desktop_row_detail_date_cell.dart | 1 + .../cell/desktop_row_detail/desktop_row_detail_media_cell.dart | 2 ++ .../desktop_row_detail/desktop_row_detail_relation_cell.dart | 1 + .../desktop_row_detail_select_option_cell.dart | 1 + 5 files changed, 7 insertions(+) diff --git a/frontend/appflowy_flutter/integration_test/desktop/database/database_calendar_test.dart b/frontend/appflowy_flutter/integration_test/desktop/database/database_calendar_test.dart index eb1d67ffcd..d6df648bb3 100644 --- a/frontend/appflowy_flutter/integration_test/desktop/database/database_calendar_test.dart +++ b/frontend/appflowy_flutter/integration_test/desktop/database/database_calendar_test.dart @@ -301,6 +301,7 @@ void main() { await tester.createOption(name: "qwer"); await tester.selectOption(name: "asdf"); await tester.dismissCellEditor(); + await tester.dismissCellEditor(); await tester.tapDatabaseFilterButton(); await tester.tapCreateFilterByFieldType(FieldType.MultiSelect, "Tags"); @@ -332,6 +333,7 @@ void main() { await tester.tapButton(finderForFieldType(FieldType.MultiSelect)); await tester.selectOption(name: "asdf"); await tester.dismissCellEditor(); + await tester.dismissCellEditor(); tester.assertNumberOfEventsInCalendar(0); diff --git a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_date_cell.dart b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_date_cell.dart index 9d0c0f0324..f10f9a9279 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_date_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_date_cell.dart @@ -31,6 +31,7 @@ class DesktopRowDetailDateCellSkin extends IEditableDateCellSkin { direction: PopoverDirection.bottomWithLeftAligned, constraints: BoxConstraints.loose(const Size(260, 620)), margin: EdgeInsets.zero, + asBarrier: true, child: Container( alignment: AlignmentDirectional.centerStart, padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 6), diff --git a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_media_cell.dart b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_media_cell.dart index 68c5191682..34d8a18ad8 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_media_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_media_cell.dart @@ -252,6 +252,7 @@ class _AddFileButtonState extends State<_AddFileButton> { direction: widget.direction, constraints: const BoxConstraints(maxWidth: _menuWidth), margin: EdgeInsets.zero, + asBarrier: true, onClose: () => context.read().remove(_dropFileKey), popupBuilder: (_) { @@ -458,6 +459,7 @@ class _FilePreviewRenderState extends State<_FilePreviewRender> { offset: const Offset(0, 5), triggerActions: PopoverTriggerFlags.none, onClose: () => setState(() => isSelected = false), + asBarrier: true, popupBuilder: (popoverContext) => MultiBlocProvider( providers: [ BlocProvider.value(value: context.read()), diff --git a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart index 996d04267c..b3096d49e4 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_relation_cell.dart @@ -24,6 +24,7 @@ class DesktopRowDetailRelationCellSkin extends IEditableRelationCellSkin { direction: PopoverDirection.bottomWithLeftAligned, constraints: const BoxConstraints(maxWidth: 400, maxHeight: 400), margin: EdgeInsets.zero, + asBarrier: true, onClose: () => cellContainerNotifier.isFocus = false, popupBuilder: (context) { return BlocProvider.value( diff --git a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_select_option_cell.dart b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_select_option_cell.dart index 6eab6438dc..3d41a824ce 100644 --- a/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_select_option_cell.dart +++ b/frontend/appflowy_flutter/lib/plugins/database/widgets/cell/desktop_row_detail/desktop_row_detail_select_option_cell.dart @@ -25,6 +25,7 @@ class DesktopRowDetailSelectOptionCellSkin controller: popoverController, constraints: const BoxConstraints.tightFor(width: 300), margin: EdgeInsets.zero, + asBarrier: true, triggerActions: PopoverTriggerFlags.none, direction: PopoverDirection.bottomWithLeftAligned, onClose: () => cellContainerNotifier.isFocus = false,