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 newNameMailbox = Rxn<String>();
final nameInputFocusNode = FocusNode();
AccountId? accountId;
MailboxTree? folderMailboxTree;
MailboxTree? defaultMailboxTree;
@@ -66,8 +68,19 @@ class MailboxCreatorController extends BaseController {
@override
void onError(error) {}
@override
void onClose() {
nameInputFocusNode.dispose();
super.onClose();
}
bool isCreateMailboxValidated(BuildContext context) {
final nameValidated = getErrorInputNameString(context);
if (!nameInputFocusNode.hasFocus && newNameMailbox.value == null) {
return false;
}
if (nameValidated?.isNotEmpty == true) {
return false;
}
@@ -101,6 +114,10 @@ class MailboxCreatorController extends BaseController {
String? getErrorInputNameString(BuildContext context) {
final nameMailbox = newNameMailbox.value;
if (!nameInputFocusNode.hasFocus && nameMailbox == null) {
return null;
}
return _verifyNameInteractor.execute(
nameMailbox,
[
@@ -112,8 +112,8 @@ class MailboxCreatorView extends GetWidget<MailboxCreatorController> {
..onChange((value) => controller.setNewNameMailbox(value))
..keyboardType(TextInputType.visiblePassword)
..cursorColor(AppColor.colorTextButton)
..autoFocus(true)
..textStyle(TextStyle(color: AppColor.colorNameEmail, fontSize: 16))
..addFocusNode(controller.nameInputFocusNode)
..textDecoration((CreateMailboxNameInputDecorationBuilder()
..setHintText(AppLocalizations.of(context).hint_input_create_new_mailbox)
..setErrorText(controller.getErrorInputNameString(context)))