private void InitializeAllStrings()
        {
            // login
            EmailTextField.Placeholder    = Application.LocalizedString("EmailAddress");
            PasswordTextField.Placeholder = Application.LocalizedString("Password");
            LoginButton.SetTitle(Application.LocalizedString("Login"), UIControlState.Normal);
            WhatIsSeekiosButton.SetTitle(Application.LocalizedString("WhatIsSeekios"), UIControlState.Normal);

            // double action forget/create
            ForgetPasswordButton.SetTitle(Application.LocalizedString("ForgetPassword"), UIControlState.Normal);
            CreateAccountButton.SetTitle(Application.LocalizedString("CreateAccount"), UIControlState.Normal);
            BackButton.SetTitle(Application.LocalizedString("Back"), UIControlState.Normal);

            // createAccount
            FirstNameTextField.Placeholder = Application.LocalizedString("FirstName");
            LastNameTextField.Placeholder  = Application.LocalizedString("LastName");
            PasswordTextFieldOfRegistration.Placeholder = Application.LocalizedString("Password");
            ConfirmPasswordTextField.Placeholder        = Application.LocalizedString("ConfirmPassword");
            RegistrationButton.SetTitle(Application.LocalizedString("CreateMyAccount"), UIControlState.Normal);
            EmailTextFieldOfRegistration.Placeholder = Application.LocalizedString("EmailAddress");
            ErrorMessageLabel.Text = Application.LocalizedString("PasswordErrorLength");

            // forget Password
            EmailTextFieldOfForgetPassword.Placeholder = Application.LocalizedString("EmailAddress");
            ResetPasswordButton.SetTitle(Application.LocalizedString("ResetPassword"), UIControlState.Normal);
        }
示例#2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = Resources.LoginForgotPassword;
            ResetPasswordButton.SetTitle(Resources.GetPasswordResetLink, UIControlState.Normal);
            EmailTextField.Placeholder = Resources.EmailAddress;
            SuccessMessageLabel.Text   = Resources.PasswordResetSuccess;

            prepareViews();

            //Text
            ViewModel.ErrorMessage
            .Subscribe(errorMessage =>
            {
                ErrorLabel.Text   = errorMessage;
                ErrorLabel.Hidden = string.IsNullOrEmpty(errorMessage);
            })
            .DisposedBy(DisposeBag);

            EmailTextField.Rx().Text()
            .Select(Email.From)
            .Subscribe(ViewModel.Email.OnNext)
            .DisposedBy(DisposeBag);

            ViewModel.Reset.Executing
            .Subscribe(loading =>
            {
                UIView.Transition(
                    ResetPasswordButton,
                    Animation.Timings.EnterTiming,
                    UIViewAnimationOptions.TransitionCrossDissolve,
                    () => ResetPasswordButton.SetTitle(loading ? "" : Resources.GetPasswordResetLink, UIControlState.Normal),
                    null
                    );
            })
            .DisposedBy(DisposeBag);

            //Visibility
            ViewModel.PasswordResetSuccessful
            .Subscribe(DoneCard.Rx().IsVisibleWithFade())
            .DisposedBy(DisposeBag);

            ViewModel.PasswordResetSuccessful
            .Invert()
            .Subscribe(ResetPasswordButton.Rx().IsVisibleWithFade())
            .DisposedBy(DisposeBag);

            ViewModel.PasswordResetSuccessful
            .Where(s => s == false)
            .Subscribe(_ => EmailTextField.BecomeFirstResponder())
            .DisposedBy(DisposeBag);

            ViewModel.Reset.Executing
            .Subscribe(ActivityIndicator.Rx().IsVisibleWithFade())
            .DisposedBy(DisposeBag);

            //Commands
            ResetPasswordButton.Rx()
            .BindAction(ViewModel.Reset)
            .DisposedBy(DisposeBag);
        }