TF-1033: Auto scroll composer to follow user typing
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user