private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            LoginButton.SetTitleColor(
                Core.UI.Helper.Colors.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ =>
            {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                ViewModel.Login();
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            setupKeyboardDismissingGestureRecognizers();

            prepareForgotPasswordButton();
            ShowPasswordButton.SetupShowPasswordButton();
        }
        void ReleaseDesignerOutlets()
        {
            if (ConfirmPasswordTextField != null)
            {
                ConfirmPasswordTextField.Dispose();
                ConfirmPasswordTextField = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (RegisterSaveButton != null)
            {
                RegisterSaveButton.Dispose();
                RegisterSaveButton = null;
            }

            if (UsenameTextField != null)
            {
                UsenameTextField.Dispose();
                UsenameTextField = null;
            }
        }
        void ReleaseDesignerOutlets()
        {
            if (LoginButton != null)
            {
                LoginButton.Dispose();
                LoginButton = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (RegisterBarButtonItem != null)
            {
                RegisterBarButtonItem.Dispose();
                RegisterBarButtonItem = null;
            }

            if (SignInGoogleView != null)
            {
                SignInGoogleView.Dispose();
                SignInGoogleView = null;
            }

            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }
        }
        void ReleaseDesignerOutlets()
        {
            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (LoginButton != null)
            {
                LoginButton.Dispose();
                LoginButton = null;
            }

            if (LoadingContainer != null)
            {
                LoadingContainer.Dispose();
                LoadingContainer = null;
            }
        }
Example #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NavigationController.NavigationBarHidden = true;
            PasswordManagerButton.Hidden             = !ViewModel.IsPasswordManagerAvailable;

            UIKeyboard.Notifications.ObserveWillShow(KeyboardWillShow);
            UIKeyboard.Notifications.ObserveWillHide(KeyboardWillHide);

            //Text
            this.Bind(ViewModel.Email, EmailTextField.BindText());
            this.Bind(ViewModel.ErrorMessage, ErrorLabel.BindText());
            this.Bind(ViewModel.Password, PasswordTextField.BindText());
            this.Bind(EmailTextField.Text().Select(Email.From), ViewModel.SetEmail);
            this.Bind(PasswordTextField.Text().Select(Password.From), ViewModel.SetPassword);
            this.Bind(ViewModel.IsLoading.Select(loginButtonTitle), LoginButton.BindAnimatedTitle());

            //Visibility
            this.Bind(ViewModel.HasError, ErrorLabel.BindAnimatedIsVisible());
            this.Bind(ViewModel.IsLoading, ActivityIndicator.BindIsVisibleWithFade());
            this.Bind(ViewModel.IsPasswordMasked.Skip(1), PasswordTextField.BindSecureTextEntry());
            this.Bind(ViewModel.IsShowPasswordButtonVisible, ShowPasswordButton.BindIsVisible());
            this.Bind(PasswordTextField.FirstResponder, ViewModel.SetIsShowPasswordButtonVisible);

            //Commands
            this.Bind(SignupCard.Tapped(), ViewModel.Signup);
            this.BindVoid(LoginButton.Tapped(), ViewModel.Login);
            this.BindVoid(GoogleLoginButton.Tapped(), ViewModel.GoogleLogin);
            this.Bind(ForgotPasswordButton.Tapped(), ViewModel.ForgotPassword);
            this.Bind(PasswordManagerButton.Tapped(), ViewModel.StartPasswordManager);
            this.BindVoid(ShowPasswordButton.Tapped(), ViewModel.TogglePasswordVisibility);

            //Color
            this.Bind(ViewModel.HasError.Select(loginButtonTintColor), LoginButton.BindTintColor());
            this.Bind(ViewModel.LoginEnabled.Select(loginButtonTitleColor), LoginButton.BindTitleColor());

            //Animation
            this.Bind(ViewModel.Shake, shakeTargets =>
            {
                if (shakeTargets.HasFlag(LoginViewModel.ShakeTargets.Email))
                {
                    EmailTextField.Shake();
                }

                if (shakeTargets.HasFlag(LoginViewModel.ShakeTargets.Password))
                {
                    PasswordTextField.Shake();
                }
            });

            prepareViews();

            UIColor loginButtonTintColor(bool hasError)
            => hasError ? UIColor.White : UIColor.Black;

            UIColor loginButtonTitleColor(bool enabled) => enabled
                ? Color.Login.EnabledButtonColor.ToNativeColor()
                : Color.Login.DisabledButtonColor.ToNativeColor();
        }
        void ReleaseDesignerOutlets()
        {
            if (LoginButton != null)
            {
                LoginButton.Dispose();
                LoginButton = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (UserTextField != null)
            {
                UserTextField.Dispose();
                UserTextField = null;
            }

            if (VersionTextField != null)
            {
                VersionTextField.Dispose();
                VersionTextField = null;
            }
        }
Example #7
0
        private void prepareViews()
        {
            ActivityIndicator.Alpha = 0;
            ActivityIndicator.StartAnimation();

            LoginButton.SetTitleColor(
                Color.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ => {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            PasswordTextField.ResignFirstResponder();

            ShowPasswordButton.SetupShowPasswordButton();
            prepareForgotPasswordButton();
        }
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            ActivityIndicator.Alpha = 0;
            ActivityIndicator.StartSpinning();

            SignupButton.SetTitleColor(
                Core.UI.Helper.Colors.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ =>
            {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                ViewModel.Signup.Execute();
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            ShowPasswordButton.SetupShowPasswordButton();

            setupKeyboardDismissingGestureRecognizers();
        }
        void ReleaseDesignerOutlets()
        {
            if (LoginButton != null)
            {
                LoginButton.Dispose();
                LoginButton = null;
            }

            if (LoginFailedLabel != null)
            {
                LoginFailedLabel.Dispose();
                LoginFailedLabel = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }
        }
Example #10
0
        private void prepareViews()
        {
            ActivityIndicator.Alpha = 0;
            ActivityIndicator.StartAnimation();

            SignupButton.SetTitleColor(
                Color.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ => {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            PasswordTextField.ResignFirstResponder();

            ShowPasswordButton.SetupShowPasswordButton();

            SelectCountryButton.SemanticContentAttribute = UISemanticContentAttribute.ForceRightToLeft;
            var spacing = 4;

            SelectCountryButton.ImageEdgeInsets = new UIEdgeInsets(0, spacing, 0, 0);
            SelectCountryButton.TitleEdgeInsets = new UIEdgeInsets(0, 0, 0, spacing);
        }
        void ReleaseDesignerOutlets()
        {
            if (ConfirmPasswordTextField != null)
            {
                ConfirmPasswordTextField.Dispose();
                ConfirmPasswordTextField = null;
            }

            if (EmailTextfield != null)
            {
                EmailTextfield.Dispose();
                EmailTextfield = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (RegisterButton != null)
            {
                RegisterButton.Dispose();
                RegisterButton = null;
            }
        }
Example #12
0
        protected override void SetupLayoutConstraints()
        {
            base.SetupLayoutConstraints();

            this.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            this.AddConstraints(BackgroundImage.FullSizeOf(this));

            this.AddConstraints(
                InvalidCredentialsLabel.WithSameLeft(LoginTextField),
                InvalidCredentialsLabel.WithSameRight(LoginTextField),
                InvalidCredentialsLabel.Height().EqualTo(AppDimens.DefaultErrorMessageHeight),
                InvalidCredentialsLabel.Above(LoginTextField, AppDimens.Inset3X));

            this.AddConstraints(
                LoginTextField.AtLeftOf(this, AppDimens.Inset5X),
                LoginTextField.AtRightOf(this, AppDimens.Inset5X),
                LoginTextField.Height().EqualTo(AppDimens.DefaultTextFieldHeight),
                LoginTextField.Above(PasswordTextField, AppDimens.Inset2X));

            this.AddConstraints(
                PasswordTextField.WithSameLeft(LoginTextField),
                PasswordTextField.WithSameCenterY(this),
                PasswordTextField.WithSameRight(LoginTextField),
                PasswordTextField.Height().EqualTo(AppDimens.DefaultTextFieldHeight));

            this.AddConstraints(
                LoginButton.AtLeftOf(this, AppDimens.Inset8X),
                LoginButton.AtRightOf(this, AppDimens.Inset8X),
                LoginButton.Below(PasswordTextField, AppDimens.Inset2X),
                LoginButton.Height().EqualTo(AppDimens.DefaultButtonHeight));
        }
        void ReleaseDesignerOutlets()
        {
            if (NewAccountButton != null)
            {
                NewAccountButton.Dispose();
                NewAccountButton = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (SigninButton != null)
            {
                SigninButton.Dispose();
                SigninButton = null;
            }

            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }
        }
Example #14
0
        /* View LifeCycle Methods */
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Perform any additional setup after loading the view, typically from a nib.

            var set = this.CreateBindingSet <LoginViewController, LoginViewModel>();

            set.Bind(LoginButton).To(vm => vm.LoginCommand);
            set.Bind(UsernameTextField).To(vm => vm.Username);
            set.Bind(PasswordTextField).To(vm => vm.Password);
            set.Apply();

            UsernameTextField.ShouldReturn += (textField) => {
                textField.ResignFirstResponder();
                PasswordTextField.BecomeFirstResponder();
                return(true);
            };

            // Done button pressed
            PasswordTextField.ShouldReturn += (textField) => {
                textField.ResignFirstResponder();
                return(true);
            };
        }
Example #15
0
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            LoginButton.SetTitleColor(
                Color.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ =>
            {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                ViewModel.Login();
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            View.AddGestureRecognizer(new UITapGestureRecognizer(() =>
            {
                EmailTextField.ResignFirstResponder();
                PasswordTextField.ResignFirstResponder();
            }));

            prepareForgotPasswordButton();
            ShowPasswordButton.SetupShowPasswordButton();
        }
Example #16
0
        void ReleaseDesignerOutlets()
        {
            if (PasswordErrorLabel != null)
            {
                PasswordErrorLabel.Dispose();
                PasswordErrorLabel = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (SaveButton != null)
            {
                SaveButton.Dispose();
                SaveButton = null;
            }

            if (UsernameErrorLabel != null)
            {
                UsernameErrorLabel.Dispose();
                UsernameErrorLabel = null;
            }

            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }
        }
Example #17
0
        void ReleaseDesignerOutlets()
        {
            if (AuthenticateButton != null)
            {
                AuthenticateButton.Dispose();
                AuthenticateButton = null;
            }

            if (EmailTextField != null)
            {
                EmailTextField.Dispose();
                EmailTextField = null;
            }

            if (Label != null)
            {
                Label.Dispose();
                Label = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (TextField != null)
            {
                TextField.Dispose();
                TextField = null;
            }
        }
Example #18
0
 public override void ViewDidAppear(bool animated)
 {
     base.ViewDidAppear(animated);
     ActivityIndicator.Alpha = 0;
     ActivityIndicator.StartSpinning();
     PasswordTextField.ResignFirstResponder();
 }
Example #19
0
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            ActivityIndicator.Alpha = 0;
            ActivityIndicator.StartAnimation();

            SignupButton.SetTitleColor(
                Color.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ => {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                ViewModel.SignupCommand.Execute();
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            View.AddGestureRecognizer(new UITapGestureRecognizer(() =>
            {
                EmailTextField.ResignFirstResponder();
                PasswordTextField.ResignFirstResponder();
            }));

            PasswordTextField.ResignFirstResponder();

            ShowPasswordButton.SetupShowPasswordButton();
        }
        void ReleaseDesignerOutlets()
        {
            if (EmailTextField != null)
            {
                EmailTextField.Dispose();
                EmailTextField = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (RegisterButton != null)
            {
                RegisterButton.Dispose();
                RegisterButton = null;
            }

            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }
        }
Example #21
0
 void ReleaseDesignerOutlets()
 {
     if (CancelButton != null)
     {
         CancelButton.Dispose();
         CancelButton = null;
     }
     if (ConfirmPasswordTextField != null)
     {
         ConfirmPasswordTextField.Dispose();
         ConfirmPasswordTextField = null;
     }
     if (PasswordTextField != null)
     {
         PasswordTextField.Dispose();
         PasswordTextField = null;
     }
     if (SignUpButton != null)
     {
         SignUpButton.Dispose();
         SignUpButton = null;
     }
     if (UserNameTextView != null)
     {
         UserNameTextView.Dispose();
         UserNameTextView = null;
     }
 }
        void ReleaseDesignerOutlets()
        {
            if (UsernameTextField != null)
            {
                UsernameTextField.Dispose();
                UsernameTextField = null;
            }

            if (EmailAddressTextField != null)
            {
                EmailAddressTextField.Dispose();
                EmailAddressTextField = null;
            }

            if (PasswordTextField != null)
            {
                PasswordTextField.Dispose();
                PasswordTextField = null;
            }

            if (RegisterButton != null)
            {
                RegisterButton.Dispose();
                RegisterButton = null;
            }

            if (StatusLabel != null)
            {
                StatusLabel.Dispose();
                StatusLabel = null;
            }
        }
Example #23
0
        public void FillLoginForm(string username, string password)
        {
            //Enter the Username in the Username field
            UsernameTextField.EnterTextInTextField(username);

            //Enter the password in the password field
            PasswordTextField.EnterTextInTextField(password);
        }
Example #24
0
        public void Login()
        {
            _browser.Navigate().GoToUrl(MarketingCloudUrl);

            UsernameTextField.SendKeys(Username);
            PasswordTextField.SendKeys(Password);
            LoginButton.Click();
        }
        private void SetupBinding()
        {
            EmailTextField.EditingChanged += (s, e) => { };
            Bindings.Add(this.SetBinding(
                             () => EmailTextField.Text,
                             () => Vm.Email,
                             BindingMode.OneWay));

            NameTextField.EditingChanged += (s, e) => { };
            Bindings.Add(this.SetBinding(
                             () => NameTextField.Text,
                             () => Vm.UserName,
                             BindingMode.OneWay));

            PasswordTextField.EditingChanged += (s, e) => { };
            Bindings.Add(this.SetBinding(
                             () => PasswordTextField.Text,
                             () => Vm.Password,
                             BindingMode.OneWay));

            Bindings.Add(this
                         .SetBinding(() => Vm.EmailValidationError)
                         .WhenSourceChanges(() =>
            {
                if (Vm.EmailValidationError)
                {
                    EmailTextField.Shake();
                }
            }));

            Bindings.Add(this
                         .SetBinding(() => Vm.UserNameValidationError)
                         .WhenSourceChanges(() =>
            {
                if (Vm.UserNameValidationError)
                {
                    NameTextField.Shake();
                }
            }));

            Bindings.Add(this
                         .SetBinding(() => Vm.PasswordValidationError)
                         .WhenSourceChanges(() =>
            {
                if (Vm.PasswordValidationError)
                {
                    PasswordTextField.Shake();
                }
            }));

            SignUpButton.TouchUpInside += (s, e) => { };
            SignUpButton.SetCommand(
                "TouchUpInside",
                Vm.SignUpCommand);
        }
 private bool TextFieldShouldReturn(UITextField textField)
 {
     if (textField.Tag == 0)
     {
         PasswordTextField.BecomeFirstResponder();
     }
     else
     {
         PasswordTextField.ResignFirstResponder();
     }
     return(true);
 }
Example #27
0
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            ActivityIndicator.Alpha = 0;
            ActivityIndicator.StartSpinning();

            SignupButton.SetTitleColor(
                Color.Login.DisabledButtonColor.ToNativeColor(),
                UIControlState.Disabled
                );

            EmailTextField.ShouldReturn += _ => {
                PasswordTextField.BecomeFirstResponder();
                return(false);
            };

            PasswordTextField.ShouldReturn += _ =>
            {
                ViewModel.SignupCommand.Execute();
                PasswordTextField.ResignFirstResponder();
                return(false);
            };

            View.AddGestureRecognizer(new UITapGestureRecognizer(() =>
            {
                EmailTextField.ResignFirstResponder();
                PasswordTextField.ResignFirstResponder();
            }));

            SignupShakeTriggerButton.TouchUpInside += (sender, e) =>
            {
                if (!ViewModel.Email.IsValid)
                {
                    EmailTextField.Shake();
                }
                if (!ViewModel.Password.IsValid)
                {
                    PasswordTextField.Shake();
                }
                if (!ViewModel.IsCountryValid)
                {
                    SelectCountryButton.Shake();
                    CountryNotSelectedImageView.Shake();
                    CountryDropDownCaretImageView.Shake();
                }
            };

            ShowPasswordButton.SetupShowPasswordButton();

            EmailTextField.ResignFirstResponder();
            PasswordTextField.ResignFirstResponder();
        }
        public void Login(String email, String password)
        {
            Browser.Wait();

            EmailTextField.Clear();
            EmailTextField.SendKeys(email);

            PasswordTextField.Clear();
            PasswordTextField.SendKeys(password);

            LoginButton.Click();
        }
        public void Login(User user)
        {
            Browser.Wait();

            EmailTextField.Clear();
            EmailTextField.SendKeys(user.Email);

            PasswordTextField.Clear();
            PasswordTextField.SendKeys(user.Password);

            LoginButton.Click();
        }
        async partial void Authenticate(UIButton _)
        {
            var email = EmailTextField.Text;
            var passw = PasswordTextField.Text;

            if (string.IsNullOrWhiteSpace(email))
            {
                ErrorMessageDialog(StringResources.common_ui_forms_email_validate_empty);
            }
            else if (string.IsNullOrWhiteSpace(passw))
            {
                ErrorMessageDialog(StringResources.common_ui_forms_password_validate_empty);
            }
            else if (!Regex.Match(email, @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$").Success)
            {
                ErrorMessageDialog(StringResources.common_ui_forms_email_validate_invalid);
            }
            else
            {
                PasswordTextField.BecomeFirstResponder();
                PasswordTextField.ResignFirstResponder();

                LoginUIButton.Enabled = false;
                var client = new RestClient();
                LoginActivityIndicator.StartAnimating();

                Logger.LOG_EVENT_WITH_ACTION("LOGIN", "ATTEMPT");
                var response = await client.Login(email, passw);

                LoginActivityIndicator.StopAnimating();
                LoginUIButton.Enabled = true;

                if (response.Meta.Messages.Count > 0)
                {
                    Logger.LOG_EVENT_WITH_ACTION("LOGIN", "ERROR");
                    // Only show the first error as there
                    var err = StringResources.ResourceManager.GetString($"login.api.error.{response.Meta.Messages[0]}");
                    ErrorMessageDialog(err);
                }
                else if (!string.IsNullOrEmpty(response.Data?.Tokens.Access))
                {
                    Logger.LOG_EVENT_WITH_ACTION("LOGIN", "SUCCESS");
                    NSUserDefaults.StandardUserDefaults.SetString(JsonConvert.SerializeObject(response.Data.Tokens), "tokens");
                    NSUserDefaults.StandardUserDefaults.SetString(email, "username");

                    Queries.SetActiveUser(response.Data);
                    Analytics.SetUserID(response.Data.User.Id.ToString());

                    UIApplication.SharedApplication.Windows[0].RootViewController =
                        UIStoryboard.FromName("Main", null).InstantiateInitialViewController();
                }
            }
        }