TF-1699: Support hide suggestion when scrolling list email to, cc, bcc.
(cherry picked from commit 5269b572847419ca6ff3fb12b04f09ae142c5fc4)
This commit is contained in:
@@ -133,6 +133,7 @@ class ComposerController extends BaseController {
|
|||||||
final RichTextController keyboardRichTextController = RichTextController();
|
final RichTextController keyboardRichTextController = RichTextController();
|
||||||
|
|
||||||
final ScrollController scrollController = ScrollController();
|
final ScrollController scrollController = ScrollController();
|
||||||
|
final ScrollController scrollControllerEmailAddress = ScrollController();
|
||||||
|
|
||||||
List<Attachment> initialAttachments = <Attachment>[];
|
List<Attachment> initialAttachments = <Attachment>[];
|
||||||
String? _textEditorWeb;
|
String? _textEditorWeb;
|
||||||
@@ -213,6 +214,7 @@ class ComposerController extends BaseController {
|
|||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
createFocusNodeInput();
|
createFocusNodeInput();
|
||||||
|
scrollControllerEmailAddress.addListener(_scrollControllerEmailAddressListener);
|
||||||
_listenWorker();
|
_listenWorker();
|
||||||
if (!BuildUtils.isWeb) {
|
if (!BuildUtils.isWeb) {
|
||||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||||
@@ -262,6 +264,8 @@ class ComposerController extends BaseController {
|
|||||||
uploadInlineImageWorker.dispose();
|
uploadInlineImageWorker.dispose();
|
||||||
keyboardRichTextController.dispose();
|
keyboardRichTextController.dispose();
|
||||||
scrollController.dispose();
|
scrollController.dispose();
|
||||||
|
scrollControllerEmailAddress.removeListener(_scrollControllerEmailAddressListener);
|
||||||
|
scrollControllerEmailAddress.dispose();
|
||||||
super.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() {
|
void createFocusNodeInput() {
|
||||||
toAddressFocusNode = FocusNode();
|
toAddressFocusNode = FocusNode();
|
||||||
subjectEmailInputFocusNode = FocusNode();
|
subjectEmailInputFocusNode = FocusNode();
|
||||||
|
|||||||
@@ -541,6 +541,7 @@ class ComposerView extends GetWidget<ComposerController>
|
|||||||
return ConstrainedBox(
|
return ConstrainedBox(
|
||||||
constraints: BoxConstraints(maxHeight: _getMaxHeightEmailAddressWidget(context, constraints)),
|
constraints: BoxConstraints(maxHeight: _getMaxHeightEmailAddressWidget(context, constraints)),
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
|
controller: controller.scrollControllerEmailAddress,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Obx(() => Padding(
|
Obx(() => Padding(
|
||||||
|
|||||||
Reference in New Issue
Block a user