diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 75cb92dbd..a809a65b6 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -133,6 +133,7 @@ class ComposerController extends BaseController { final RichTextController keyboardRichTextController = RichTextController(); final ScrollController scrollController = ScrollController(); + final ScrollController scrollControllerEmailAddress = ScrollController(); List initialAttachments = []; String? _textEditorWeb; @@ -213,6 +214,7 @@ class ComposerController extends BaseController { void onInit() { super.onInit(); createFocusNodeInput(); + scrollControllerEmailAddress.addListener(_scrollControllerEmailAddressListener); _listenWorker(); if (!BuildUtils.isWeb) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) async { @@ -262,6 +264,8 @@ class ComposerController extends BaseController { uploadInlineImageWorker.dispose(); keyboardRichTextController.dispose(); scrollController.dispose(); + scrollControllerEmailAddress.removeListener(_scrollControllerEmailAddressListener); + scrollControllerEmailAddress.dispose(); super.dispose(); } @@ -328,6 +332,18 @@ class ComposerController extends BaseController { }); } + void _scrollControllerEmailAddressListener() { + if (toEmailAddressController.text.isNotEmpty) { + keyToEmailTagEditor.currentState?.closeSuggestionBox(); + } + if (ccEmailAddressController.text.isNotEmpty) { + keyCcEmailTagEditor.currentState?.closeSuggestionBox(); + } + if (bccEmailAddressController.text.isNotEmpty) { + keyBccEmailTagEditor.currentState?.closeSuggestionBox(); + } + } + void createFocusNodeInput() { toAddressFocusNode = FocusNode(); subjectEmailInputFocusNode = FocusNode(); diff --git a/lib/features/composer/presentation/composer_view_web.dart b/lib/features/composer/presentation/composer_view_web.dart index 610c928de..239c22dae 100644 --- a/lib/features/composer/presentation/composer_view_web.dart +++ b/lib/features/composer/presentation/composer_view_web.dart @@ -541,6 +541,7 @@ class ComposerView extends GetWidget return ConstrainedBox( constraints: BoxConstraints(maxHeight: _getMaxHeightEmailAddressWidget(context, constraints)), child: SingleChildScrollView( + controller: controller.scrollControllerEmailAddress, child: Column( children: [ Obx(() => Padding(