TF-1033: apply auto scroll to identity , composer , vacation screen

This commit is contained in:
ManhNTX
2022-10-06 09:15:27 +07:00
committed by Dat H. Pham
parent 5ba76f802b
commit a7c1d002d3
7 changed files with 58 additions and 5 deletions
@@ -50,6 +50,9 @@ class VacationController extends BaseController {
late Worker vacationWorker;
final ScrollController scrollController = ScrollController();
double currentPositionYHTMLEditor = 660;
VacationController(
this._getAllVacationInteractor,
this._updateVacationInteractor,
@@ -358,6 +361,22 @@ class VacationController extends BaseController {
_settingController.backToUniversalSettings();
}
void onFocusHTMLEditor() {
scrollController.animateTo(
currentPositionYHTMLEditor,
duration: const Duration(milliseconds: 300),
curve: Curves.linear,
);
}
void onEnterKeyDown() {
scrollController.animateTo(
currentPositionYHTMLEditor + richTextControllerForMobile.currentLine * 20,
duration: const Duration(milliseconds: 300),
curve: Curves.linear,
);
}
@override
void onClose() {
messageTextController.dispose();
@@ -61,6 +61,7 @@ class VacationView extends GetWidget<VacationController> with RichTextButtonMixi
: null,
padding: SettingsUtils.getMarginViewForSettingDetails(context, _responsiveUtils),
child: SingleChildScrollView(
controller: controller.scrollController,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -472,7 +473,13 @@ class VacationView extends GetWidget<VacationController> with RichTextButtonMixi
minHeight: 150,
addDefaultSelectionMenuItems: false,
initialContent: controller.vacationMessageHtmlText ?? '',
onCreated: controller.richTextControllerForMobile.onCreateHTMLEditor
onCreated: (htmlApi) {
controller.richTextControllerForMobile.onCreateHTMLEditor(
htmlApi,
onFocus: controller.onFocusHTMLEditor,
onEnterKeyDown: controller.onEnterKeyDown,
);
}
);
}
}