TF-354 Remove the real time validate of the mailbox name field

This commit is contained in:
dab246
2022-04-07 09:56:22 +07:00
committed by Dat H. Pham
parent 7ab072deab
commit 63d1b6584f
2 changed files with 18 additions and 1 deletions
@@ -29,6 +29,8 @@ class MailboxCreatorController extends BaseController {
final selectedMailbox = Rxn<PresentationMailbox>(); final selectedMailbox = Rxn<PresentationMailbox>();
final newNameMailbox = Rxn<String>(); final newNameMailbox = Rxn<String>();
final nameInputFocusNode = FocusNode();
AccountId? accountId; AccountId? accountId;
MailboxTree? folderMailboxTree; MailboxTree? folderMailboxTree;
MailboxTree? defaultMailboxTree; MailboxTree? defaultMailboxTree;
@@ -66,8 +68,19 @@ class MailboxCreatorController extends BaseController {
@override @override
void onError(error) {} void onError(error) {}
@override
void onClose() {
nameInputFocusNode.dispose();
super.onClose();
}
bool isCreateMailboxValidated(BuildContext context) { bool isCreateMailboxValidated(BuildContext context) {
final nameValidated = getErrorInputNameString(context); final nameValidated = getErrorInputNameString(context);
if (!nameInputFocusNode.hasFocus && newNameMailbox.value == null) {
return false;
}
if (nameValidated?.isNotEmpty == true) { if (nameValidated?.isNotEmpty == true) {
return false; return false;
} }
@@ -101,6 +114,10 @@ class MailboxCreatorController extends BaseController {
String? getErrorInputNameString(BuildContext context) { String? getErrorInputNameString(BuildContext context) {
final nameMailbox = newNameMailbox.value; final nameMailbox = newNameMailbox.value;
if (!nameInputFocusNode.hasFocus && nameMailbox == null) {
return null;
}
return _verifyNameInteractor.execute( return _verifyNameInteractor.execute(
nameMailbox, nameMailbox,
[ [
@@ -112,8 +112,8 @@ class MailboxCreatorView extends GetWidget<MailboxCreatorController> {
..onChange((value) => controller.setNewNameMailbox(value)) ..onChange((value) => controller.setNewNameMailbox(value))
..keyboardType(TextInputType.visiblePassword) ..keyboardType(TextInputType.visiblePassword)
..cursorColor(AppColor.colorTextButton) ..cursorColor(AppColor.colorTextButton)
..autoFocus(true)
..textStyle(TextStyle(color: AppColor.colorNameEmail, fontSize: 16)) ..textStyle(TextStyle(color: AppColor.colorNameEmail, fontSize: 16))
..addFocusNode(controller.nameInputFocusNode)
..textDecoration((CreateMailboxNameInputDecorationBuilder() ..textDecoration((CreateMailboxNameInputDecorationBuilder()
..setHintText(AppLocalizations.of(context).hint_input_create_new_mailbox) ..setHintText(AppLocalizations.of(context).hint_input_create_new_mailbox)
..setErrorText(controller.getErrorInputNameString(context))) ..setErrorText(controller.getErrorInputNameString(context)))