TF-1033: Auto scroll composer to follow user typing

This commit is contained in:
ManhNTX
2022-10-05 06:12:29 +07:00
committed by Dat H. Pham
parent d968fd35c6
commit 6db9d818f4
3 changed files with 10 additions and 3 deletions
@@ -116,6 +116,8 @@ class ComposerController extends BaseController {
final RichTextController keyboardRichTextController = RichTextController();
final ScrollController scrollController = ScrollController();
List<Attachment> initialAttachments = <Attachment>[];
String? _textEditorWeb;
List<EmailContent>? _emailContents;
@@ -219,6 +221,7 @@ class ComposerController extends BaseController {
bccEmailAddressController.dispose();
uploadInlineImageWorker.dispose();
keyboardRichTextController.dispose();
scrollController.dispose();
super.dispose();
}
@@ -399,6 +399,7 @@ class ComposerView extends GetWidget<ComposerController>
Widget _buildBodyMobile(BuildContext context, double maxWidth) {
return rich_text_composer.KeyboardRichText(
child: SingleChildScrollView(
controller: controller.scrollController,
physics: const ClampingScrollPhysics(),
child: Column(children: [
Obx(() => controller.identitySelected.value != null
@@ -629,7 +630,7 @@ class ComposerView extends GetWidget<ComposerController>
switch(argsComposer.emailActionType) {
case EmailActionType.compose:
case EmailActionType.composeFromEmailAddress:
return _buildHtmlEditor('', context);
return _buildHtmlEditor(HtmlExtension.editorStartTags, context);
case EmailActionType.edit:
return controller.emailContentsViewState.value.fold(
(failure) => _buildHtmlEditor(HtmlExtension.editorStartTags, context),
@@ -677,7 +678,10 @@ class ComposerView extends GetWidget<ComposerController>
onCreated: (editorApi) {
richTextMobileTabletController.htmlEditorApi = editorApi;
if(responsiveUtils.isMobile(context)){
controller.keyboardRichTextController.onCreateHTMLEditor(editorApi);
controller.keyboardRichTextController.onCreateHTMLEditor(
editorApi,
scrollController: controller.scrollController,
);
} else {
richTextMobileTabletController.listenHtmlEditorApi();
}
+1 -1
View File
@@ -45,7 +45,7 @@ dependencies:
rich_text_composer:
git:
url: https://github.com/linagora/rich-text-composer.git
ref: master
ref: apply_rich_text_bottom_sheet
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2