Пример #1
0
        /// <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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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));
        }
Пример #5
0
 /// <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));
 }