Beispiel #1
0
        void ReleaseDesignerOutlets()
        {
            if (EmailTextField != null)
            {
                EmailTextField.Dispose();
                EmailTextField = null;
            }

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

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

            if (SignInButton != null)
            {
                SignInButton.Dispose();
                SignInButton = null;
            }
        }
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

            LoginButton.SetTitleColor(
                Foundation.MvvmCross.Helper.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();
        }
Beispiel #3
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();
        }
Beispiel #4
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;
            }
        }
Beispiel #5
0
        void ReleaseDesignerOutlets()
        {
            if (AddContact != null)
            {
                AddContact.Dispose();
                AddContact = null;
            }

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

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

            if (PhoneTextField != null)
            {
                PhoneTextField.Dispose();
                PhoneTextField = null;
            }
        }
Beispiel #6
0
        void ReleaseDesignerOutlets()
        {
            if (AddButton != null)
            {
                AddButton.Dispose();
                AddButton = null;
            }

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

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

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

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

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

            if (ResetPasswordFormContainerView != null)
            {
                ResetPasswordFormContainerView.Dispose();
                ResetPasswordFormContainerView = null;
            }
        }
Beispiel #8
0
        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);
            };

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

            ShowPasswordButton.SetupShowPasswordButton();
        }
        private void InitElements()
        {
            // Enable back navigation using swipe.
            NavigationController.InteractivePopGestureRecognizer.Delegate = null;

            backBn.Frame           = new Rectangle(0, Convert.ToInt32(View.Frame.Width) / 20, Convert.ToInt32(View.Frame.Width) / 8, Convert.ToInt32(View.Frame.Width) / 8);
            backBn.TouchUpInside  += (s, e) => this.NavigationController.PopViewController(true);
            backBn.ImageEdgeInsets = new UIEdgeInsets(backBn.Frame.Height / 3F, backBn.Frame.Width / 2.5F, backBn.Frame.Height / 3F, backBn.Frame.Width / 2.5F);

            mainTextTV.Text = "Укажите email";
            mainTextTV.Font = UIFont.FromName(Constants.fira_sans, 22f);
            infoLabel.Text  = "Мы отправим вам ссылку" + "\r\n" + "для входа в приложение";

            EmailTextField.Placeholder   = "Email";
            EmailTextField.TextColor     = UIColor.White;
            EmailTextField.ReturnKeyType = UIReturnKeyType.Done;
            EmailTextField.ShouldReturn  = _ => EmailTextField.EndEditing(true);

            View.BackgroundColor = UIColor.FromRGB(36, 43, 52);

            nextBn.BackgroundColor = UIColor.FromRGB(255, 99, 62);
            nextBn.Font            = UIFont.FromName(Constants.fira_sans, 15f);
            nextBn.SetTitle("Продолжить", UIControlState.Normal);

            activityIndicator.Color  = UIColor.FromRGB(255, 99, 62);
            activityIndicator.Hidden = true;
        }
Beispiel #10
0
        void ReleaseDesignerOutlets()
        {
            if (EmailTextField != null)
            {
                EmailTextField.Dispose();
                EmailTextField = null;
            }

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

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

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

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

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

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

            if (LastNameTextField != null)
            {
                LastNameTextField.Dispose();
                LastNameTextField = null;
            }
        }
        public void HelpMe(User user)
        {
            Browser.Wait();
            EmailTextField.Clear();
            EmailTextField.SendKeys(user.Email);

            Thread.Sleep(1000);
            HelpMeButton.Click();
        }
Beispiel #13
0
        public override void LoadView()
        {
            base.LoadView();

            //Add tap gesture recognizer for view
            UITapGestureRecognizer tapSpaceRecoginzer = new UITapGestureRecognizer();

            tapSpaceRecoginzer.AddTarget(() => EmailTextField.ResignFirstResponder());
            View.AddGestureRecognizer(tapSpaceRecoginzer);
        }
        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);
        }
Beispiel #15
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(User user)
        {
            Browser.Wait();

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

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

            LoginButton.Click();
        }
        public void Login(String email, String password)
        {
            Browser.Wait();

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

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

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

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

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

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

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

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

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

            if (RegistrationNavigationItem != null)
            {
                RegistrationNavigationItem.Dispose();
                RegistrationNavigationItem = null;
            }
        }
Beispiel #19
0
        private void GestureGecognizer()
        {
            var gestureRecognizer = new UITapGestureRecognizer(() =>
            {
                FirstNameTextField.ResignFirstResponder();
                LastNameTextField.ResignFirstResponder();
                EmailTextField.ResignFirstResponder();
                PasswordTextField.ResignFirstResponder();
                ConfirmPasswordTextField.ResignFirstResponder();
                PhoneNumberTextField.ResignFirstResponder();
            });

            View.AddGestureRecognizer(gestureRecognizer);
        }
        void ReleaseDesignerOutlets()
        {
            if (ConstraintToSuperview != null)
            {
                ConstraintToSuperview.Dispose();
                ConstraintToSuperview = null;
            }

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

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

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

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

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

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

            if (WrongPasswordErrorImage != null)
            {
                WrongPasswordErrorImage.Dispose();
                WrongPasswordErrorImage = null;
            }
        }
Beispiel #21
0
        void ReleaseDesignerOutlets()
        {
            if (ActivityIndicator != null)
            {
                ActivityIndicator.Dispose();
                ActivityIndicator = null;
            }

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

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

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

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

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

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

            if (ShowPasswordButton != null)
            {
                ShowPasswordButton.Dispose();
                ShowPasswordButton = null;
            }
        }
Beispiel #22
0
        void ReleaseDesignerOutlets()
        {
            if (ActivityIndicator != null)
            {
                ActivityIndicator.Dispose();
                ActivityIndicator = null;
            }

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

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

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

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

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

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

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

            if (LoginButton != null)
            {
                LoginButton.Dispose();
                LoginButton = null;
            }
        }
Beispiel #24
0
        public void LoginToApp(string username, string password)
        {
            AccountIcon.Click();
            Thread.Sleep((int)ScriptWaits.SmallerWait);

            EmailTextField.Clear();
            EmailTextField.SendKeys(username);

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

            SignInButton.Click();

            waitMechanism.ExplicitWaitByXPath(webDriver, 20, NavBarXPath);
        }
Beispiel #25
0
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = false;

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

            EmailTextField.Rx().ShouldReturn()
            .Subscribe(ViewModel.Reset.Inputs)
            .DisposedBy(DisposeBag);

            ActivityIndicator.StartSpinning();

            ErrorLabel.Hidden = true;
        }
Beispiel #26
0
        private void setupKeyboardDismissingGestureRecognizers()
        {
            void dismissKeyboard()
            {
                EmailTextField.ResignFirstResponder();
                PasswordTextField.ResignFirstResponder();
            }

            View.AddGestureRecognizer(new UITapGestureRecognizer(dismissKeyboard));

            View.AddGestureRecognizer(new UIPanGestureRecognizer((recognizer) =>
            {
                if (recognizer.TranslationInView(View).Y > 0)
                {
                    dismissKeyboard();
                }
            }));
        }
Beispiel #27
0
        partial void ShowRegionsSelectorTableView(Foundation.NSObject sender)
        {
            EmailTextField.ResignFirstResponder();

            RegionsTableViewController regionsTVC = new RegionsTableViewController(SetSelectedRegion, RegionNameTextField.Text);

            UIPopoverController popoverController = new UIPopoverController(regionsTVC);

            popoverController.BackgroundColor = UIColor.White;
            popoverController.SetPopoverContentSize(new CoreGraphics.CGSize(340, 230), true);
            AppDisplayUtil.Instance.SetPopoverController(popoverController);

            CGRect anchorFrame = ((UIButton)sender).Frame;

            anchorFrame.Width /= 2;

            popoverController.PresentFromRect(new CGRect(75, 30, 0, 0), (UIView)sender, UIPopoverArrowDirection.Any, true);
        }
Beispiel #28
0
        void ReleaseDesignerOutlets()
        {
            if (BackButton != null)
            {
                BackButton.Dispose();
                BackButton = null;
            }

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

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

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

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

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

            if (TitleViewLabel != null)
            {
                TitleViewLabel.Dispose();
                TitleViewLabel = null;
            }
        }
Beispiel #29
0
        private void prepareViews()
        {
            NavigationController.NavigationBarHidden = true;

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

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

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

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

            LoginShakeTriggerButton.TouchUpInside += (sender, e) =>
            {
                if (!ViewModel.Email.IsValid)
                {
                    EmailTextField.Shake();
                }
                if (!ViewModel.Password.IsValid)
                {
                    PasswordTextField.Shake();
                }
            };

            PasswordTextField.ResignFirstResponder();

            ShowPasswordButton.SetupShowPasswordButton();
            prepareForgotPasswordButton();
        }
Beispiel #30
0
        void ReleaseDesignerOutlets()
        {
            if (AddImageButton != null)
            {
                AddImageButton.Dispose();
                AddImageButton = null;
            }

            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;
            }

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

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