Fix auto create tag email when focus body composer on mobile

This commit is contained in:
dab246
2023-01-18 11:47:37 +07:00
committed by Dat Vu
parent f074d8cf64
commit c5f4257361
2 changed files with 20 additions and 11 deletions
@@ -1149,27 +1149,27 @@ class ComposerController extends BaseController {
void onSubjectEmailFocusChange(bool isFocus) { void onSubjectEmailFocusChange(bool isFocus) {
log('ComposerController::onSubjectEmailFocusChange(): Focus: $isFocus'); log('ComposerController::onSubjectEmailFocusChange(): Focus: $isFocus');
if (isFocus) { if (isFocus) {
toAddressExpandMode.value = ExpandMode.COLLAPSE; _collapseAllRecipient();
ccAddressExpandMode.value = ExpandMode.COLLAPSE;
bccAddressExpandMode.value = ExpandMode.COLLAPSE;
htmlEditorApi?.unfocus(); htmlEditorApi?.unfocus();
_autoCreateEmailTag();
autoCreateEmailTag();
} }
} }
void onEditorFocusChange(bool isFocus) { void onEditorFocusChange(bool isFocus) {
log('ComposerController::onEditorFocusChange(): Focus: $isFocus'); log('ComposerController::onEditorFocusChange(): Focus: $isFocus');
if (isFocus) { if (isFocus) {
toAddressExpandMode.value = ExpandMode.COLLAPSE; _collapseAllRecipient();
ccAddressExpandMode.value = ExpandMode.COLLAPSE; _autoCreateEmailTag();
bccAddressExpandMode.value = ExpandMode.COLLAPSE;
autoCreateEmailTag();
} }
} }
void autoCreateEmailTag() { void _collapseAllRecipient() {
toAddressExpandMode.value = ExpandMode.COLLAPSE;
ccAddressExpandMode.value = ExpandMode.COLLAPSE;
bccAddressExpandMode.value = ExpandMode.COLLAPSE;
}
void _autoCreateEmailTag() {
final inputToEmail = toEmailAddressController.text; final inputToEmail = toEmailAddressController.text;
final inputCcEmail = ccEmailAddressController.text; final inputCcEmail = ccEmailAddressController.text;
final inputBccEmail = bccEmailAddressController.text; final inputBccEmail = bccEmailAddressController.text;
@@ -1203,6 +1203,7 @@ class ComposerController extends BaseController {
isInitialRecipient.refresh(); isInitialRecipient.refresh();
_updateStatusEmailSendButton(); _updateStatusEmailSendButton();
} }
log('ComposerController::_autoCreateToEmailTag(): STATE: ${keyToEmailTagEditor.currentState}');
keyToEmailTagEditor.currentState?.resetTextField(); keyToEmailTagEditor.currentState?.resetTextField();
Future.delayed(const Duration(milliseconds: 300), () { Future.delayed(const Duration(milliseconds: 300), () {
keyToEmailTagEditor.currentState?.closeSuggestionBox(); keyToEmailTagEditor.currentState?.closeSuggestionBox();
@@ -1287,6 +1288,11 @@ class ComposerController extends BaseController {
break; break;
} }
_closeSuggestionBox(); _closeSuggestionBox();
} else {
if (!BuildUtils.isWeb) {
_collapseAllRecipient();
_autoCreateEmailTag();
}
} }
} }
@@ -356,6 +356,7 @@ class ComposerView extends GetWidget<ComposerController>
controller: controller.toEmailAddressController, controller: controller.toEmailAddressController,
focusNode: controller.toAddressFocusNode, focusNode: controller.toAddressFocusNode,
autoDisposeFocusNode: false, autoDisposeFocusNode: false,
keyTagEditor: controller.keyToEmailTagEditor,
isInitial: controller.isInitialRecipient.value) isInitial: controller.isInitialRecipient.value)
..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus)) ..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus))
..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress)) ..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress))
@@ -376,6 +377,7 @@ class ComposerView extends GetWidget<ComposerController>
controller.listEmailAddressType, controller.listEmailAddressType,
expandMode: controller.ccAddressExpandMode.value, expandMode: controller.ccAddressExpandMode.value,
controller: controller.ccEmailAddressController, controller: controller.ccEmailAddressController,
keyTagEditor: controller.keyCcEmailTagEditor,
isInitial: controller.isInitialRecipient.value,) isInitial: controller.isInitialRecipient.value,)
..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus)) ..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus))
..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress)) ..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress))
@@ -397,6 +399,7 @@ class ComposerView extends GetWidget<ComposerController>
controller.listEmailAddressType, controller.listEmailAddressType,
expandMode: controller.bccAddressExpandMode.value, expandMode: controller.bccAddressExpandMode.value,
controller: controller.bccEmailAddressController, controller: controller.bccEmailAddressController,
keyTagEditor: controller.keyBccEmailTagEditor,
isInitial: controller.isInitialRecipient.value,) isInitial: controller.isInitialRecipient.value,)
..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus)) ..addOnFocusEmailAddressChangeAction((prefixEmailAddress, focus) => controller.onEmailAddressFocusChange(prefixEmailAddress, focus))
..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress)) ..addOnShowFullListEmailAddressAction((prefixEmailAddress) => controller.showFullEmailAddress(prefixEmailAddress))