TF-874 Fix duplicate focusable when focus to editor composer on mobile
This commit is contained in:
@@ -316,6 +316,22 @@ class ComposerController extends BaseController {
|
|||||||
subjectEmailInputFocusNode = FocusNode();
|
subjectEmailInputFocusNode = FocusNode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initRichTextForMobile(BuildContext context, HtmlEditorApi editorApi) {
|
||||||
|
richTextMobileTabletController.htmlEditorApi = editorApi;
|
||||||
|
keyboardRichTextController.onCreateHTMLEditor(
|
||||||
|
editorApi,
|
||||||
|
onEnterKeyDown: _onEnterKeyDown,
|
||||||
|
context: context,
|
||||||
|
);
|
||||||
|
|
||||||
|
richTextMobileTabletController.htmlEditorApi?.onFocus = () {
|
||||||
|
FocusManager.instance.primaryFocus?.unfocus();
|
||||||
|
|
||||||
|
_collapseAllRecipient();
|
||||||
|
_autoCreateEmailTag();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
void _initEmail() {
|
void _initEmail() {
|
||||||
final arguments = kIsWeb ? mailboxDashBoardController.routerArguments : Get.arguments;
|
final arguments = kIsWeb ? mailboxDashBoardController.routerArguments : Get.arguments;
|
||||||
if (arguments is ComposerArguments) {
|
if (arguments is ComposerArguments) {
|
||||||
@@ -1483,7 +1499,7 @@ class ComposerController extends BaseController {
|
|||||||
popBack();
|
popBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
void onEnterKeyDown() {
|
void _onEnterKeyDown() {
|
||||||
if(scrollController.position.pixels < scrollController.position.maxScrollExtent) {
|
if(scrollController.position.pixels < scrollController.position.maxScrollExtent) {
|
||||||
scrollController.animateTo(
|
scrollController.animateTo(
|
||||||
scrollController.position.pixels + 20,
|
scrollController.position.pixels + 20,
|
||||||
|
|||||||
@@ -599,7 +599,6 @@ class ComposerView extends GetWidget<ComposerController>
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildHtmlEditor(BuildContext context, {String? initialContent}) {
|
Widget _buildHtmlEditor(BuildContext context, {String? initialContent}) {
|
||||||
final richTextMobileTabletController = controller.richTextMobileTabletController;
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(left: 16, right: 16, bottom: 20),
|
padding: const EdgeInsets.only(left: 16, right: 16, bottom: 20),
|
||||||
child: HtmlEditor(
|
child: HtmlEditor(
|
||||||
@@ -607,14 +606,7 @@ class ComposerView extends GetWidget<ComposerController>
|
|||||||
minHeight: 550,
|
minHeight: 550,
|
||||||
addDefaultSelectionMenuItems: false,
|
addDefaultSelectionMenuItems: false,
|
||||||
initialContent: initialContent ?? '',
|
initialContent: initialContent ?? '',
|
||||||
onCreated: (editorApi) {
|
onCreated: (editorApi) => controller.initRichTextForMobile(context, editorApi)
|
||||||
richTextMobileTabletController.htmlEditorApi = editorApi;
|
|
||||||
controller.keyboardRichTextController.onCreateHTMLEditor(
|
|
||||||
editorApi,
|
|
||||||
onEnterKeyDown: controller.onEnterKeyDown,
|
|
||||||
context: context,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user