/// <summary> Prompt asynchronous. </summary> /// <param name="message"> The message. </param> /// <param name="title"> (Optional) The title. </param> /// <param name="okText"> (Optional) The ok text. </param> /// <param name="cancelText"> (Optional) The cancel text. </param> /// <param name="placeholder"> (Optional) The placeholder. </param> /// <param name="inputType"> (Optional) Type of the input. </param> /// <param name="cancelToken"> (Optional) The cancel token. </param> /// <returns> The asynchronous result that yields an UserDialogPromptResult. </returns> public async Task <UserDialogPromptResult> PromptAsync(string message, string title = null, string okText = null, string cancelText = null, string placeholder = "", UserDialogInputType inputType = UserDialogInputType.Default, CancellationToken?cancelToken = null) { AcrDialogs.PromptResult result = await AcrDialogs.UserDialogs.Instance.PromptAsync(message, title, okText, cancelText, placeholder, ConvertToAcrInputType(inputType), cancelToken); return(ConvertPromptResult(result)); }
protected virtual void ShowIOS8Prompt(PromptConfig config) { var result = new PromptResult(); var dlg = UIAlertController.Create(config.Title ?? String.Empty, config.Message, UIAlertControllerStyle.Alert); UITextField txt = null; if (config.IsCancellable) { dlg.AddAction(UIAlertAction.Create(config.CancelText, UIAlertActionStyle.Cancel, x => { result.Ok = false; result.Text = txt.Text.Trim(); config.OnResult(result); })); } dlg.AddAction(UIAlertAction.Create(config.OkText, UIAlertActionStyle.Default, x => { result.Ok = true; result.Text = txt.Text.Trim(); config.OnResult(result); })); dlg.AddTextField(x => { this.SetInputType(x, config.InputType); x.Placeholder = config.Placeholder ?? String.Empty; if (config.Text != null) x.Text = config.Text; txt = x; }); this.Present(dlg); }
protected virtual void ShowIOS7Prompt(PromptConfig config) { var result = new PromptResult(); var isPassword = (config.InputType == InputType.Password || config.InputType == InputType.NumericPassword); var cancelText = config.IsCancellable ? config.CancelText : null; var dlg = new UIAlertView(config.Title ?? String.Empty, config.Message, null, cancelText, config.OkText) { AlertViewStyle = isPassword ? UIAlertViewStyle.SecureTextInput : UIAlertViewStyle.PlainTextInput }; var txt = dlg.GetTextField(0); this.SetInputType(txt, config.InputType); txt.Placeholder = config.Placeholder; if (config.Text != null) txt.Text = config.Text; dlg.Clicked += (s, e) => { result.Ok = ((int)dlg.CancelButtonIndex != (int)e.ButtonIndex); result.Text = txt.Text.Trim(); config.OnResult(result); }; this.Present(dlg); }
/// <summary> Prompt asynchronous. </summary> /// <param name="config"> The configuration. </param> /// <param name="cancelToken"> (Optional) The cancel token. </param> /// <returns> The asynchronous result that yields an UserDialogPromptResult. </returns> public async Task <UserDialogPromptResult> PromptAsync(UserDialogPromptConfig config, CancellationToken?cancelToken = null) { AcrDialogs.PromptResult result = await AcrDialogs.UserDialogs.Instance.PromptAsync(GetPromptConfig(config), cancelToken); return(ConvertPromptResult(result)); }
/// <summary> Convert prompt result. </summary> /// <param name="result"> The result. </param> /// <returns> The prompt converted result. </returns> private UserDialogPromptResult ConvertPromptResult(AcrDialogs.PromptResult result) { return((result == null) ? null : new UserDialogPromptResult(result.Ok, result.Text)); }