TF-2560 Clear focus when click outside input on web

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2024-02-16 12:21:01 +07:00
committed by Dat PHAM HOANG
parent eb3e22b467
commit 1a958c97ef
@@ -12,16 +12,16 @@ import 'package:tmail_ui_user/features/composer/presentation/view/web/desktop_re
import 'package:tmail_ui_user/features/composer/presentation/view/web/mobile_responsive_container_view.dart'; import 'package:tmail_ui_user/features/composer/presentation/view/web/mobile_responsive_container_view.dart';
import 'package:tmail_ui_user/features/composer/presentation/view/web/tablet_responsive_container_view.dart'; import 'package:tmail_ui_user/features/composer/presentation/view/web/tablet_responsive_container_view.dart';
import 'package:tmail_ui_user/features/composer/presentation/view/web/web_editor_view.dart'; import 'package:tmail_ui_user/features/composer/presentation/view/web/web_editor_view.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/mobile/from_composer_mobile_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/from_composer_drop_down_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart'; import 'package:tmail_ui_user/features/composer/presentation/widgets/insert_image_loading_bar_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/desktop_app_bar_composer_widget.dart'; import 'package:tmail_ui_user/features/composer/presentation/widgets/mobile/from_composer_mobile_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/attachment_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/drop_zone_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/mobile_responsive_app_bar_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/recipient_composer_widget.dart'; import 'package:tmail_ui_user/features/composer/presentation/widgets/recipient_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/subject_composer_widget.dart'; import 'package:tmail_ui_user/features/composer/presentation/widgets/subject_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/attachment_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/bottom_bar_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/desktop_app_bar_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/drop_zone_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/from_composer_drop_down_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/mobile_responsive_app_bar_composer_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart'; import 'package:tmail_ui_user/features/composer/presentation/widgets/web/toolbar_rich_text_builder.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -36,7 +36,9 @@ class ComposerView extends GetWidget<ComposerController> {
responsiveUtils: controller.responsiveUtils, responsiveUtils: controller.responsiveUtils,
mobile: MobileResponsiveContainerView( mobile: MobileResponsiveContainerView(
childBuilder: (context, constraints) { childBuilder: (context, constraints) {
return Column( return GestureDetector(
onTap: () => controller.clearFocusEditor(context),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Obx(() => MobileResponsiveAppBarComposerWidget( Obx(() => MobileResponsiveAppBarComposerWidget(
@@ -224,16 +226,22 @@ class ComposerView extends GetWidget<ComposerController> {
} }
}) })
] ]
),
); );
} }
), ),
desktop: Obx(() => DesktopResponsiveContainerView( desktop: Obx(() => DesktopResponsiveContainerView(
childBuilder: (context, constraints) { childBuilder: (context, constraints) {
return Column(children: [ return GestureDetector(
onTap: () => controller.clearFocusEditor(context),
child: Column(children: [
Obx(() => DesktopAppBarComposerWidget( Obx(() => DesktopAppBarComposerWidget(
emailSubject: controller.subjectEmail.value ?? '', emailSubject: controller.subjectEmail.value ?? '',
displayMode: controller.screenDisplayMode.value, displayMode: controller.screenDisplayMode.value,
onCloseViewAction: () => controller.saveToDraftAndClose(context), onCloseViewAction: () {
controller.clearFocusEditor(context);
controller.saveToDraftAndClose(context);
},
onChangeDisplayModeAction: controller.displayScreenTypeComposerAction, onChangeDisplayModeAction: controller.displayScreenTypeComposerAction,
constraints: constraints, constraints: constraints,
)), )),
@@ -452,7 +460,8 @@ class ComposerView extends GetWidget<ComposerController> {
}, },
isSending: controller.isSendEmailLoading.value, isSending: controller.isSendEmailLoading.value,
)), )),
]); ]),
);
}, },
displayMode: controller.screenDisplayMode.value, displayMode: controller.screenDisplayMode.value,
emailSubject: controller.subjectEmail.value ?? '', emailSubject: controller.subjectEmail.value ?? '',
@@ -461,7 +470,9 @@ class ComposerView extends GetWidget<ComposerController> {
)), )),
tablet: TabletResponsiveContainerView( tablet: TabletResponsiveContainerView(
childBuilder: (context, constraints) { childBuilder: (context, constraints) {
return Column(children: [ return GestureDetector(
onTap: () => controller.clearFocusEditor(context),
child: Column(children: [
Obx(() => DesktopAppBarComposerWidget( Obx(() => DesktopAppBarComposerWidget(
emailSubject: controller.subjectEmail.value ?? '', emailSubject: controller.subjectEmail.value ?? '',
onCloseViewAction: () => controller.saveToDraftAndClose(context), onCloseViewAction: () => controller.saveToDraftAndClose(context),
@@ -667,7 +678,8 @@ class ComposerView extends GetWidget<ComposerController> {
); );
}, },
)), )),
]); ]),
);
}, },
) )
); );