Example #1
0
        /// <summary> Gets prompt configuration. </summary>
        /// <exception cref="ArgumentNullException"> Thrown when one or more required arguments are null. </exception>
        /// <param name="config"> The configuration. </param>
        /// <returns> The prompt configuration. </returns>
        private AcrDialogs.PromptConfig GetPromptConfig(UserDialogPromptConfig config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            var result = new AcrDialogs.PromptConfig();

            if (config.Title != null)
            {
                result.Title = config.Title;
            }
            if (config.Message != null)
            {
                result.Message = config.Message;
            }
            if (config.OnAction != null)
            {
                result.OnAction = GetPromptResultAction(config.OnAction);
            }
            if (config.IsCancellable != null)
            {
                result.IsCancellable = config.IsCancellable.Value;
            }
            if (config.Text != null)
            {
                result.Text = config.Text;
            }
            if (config.OkText != null)
            {
                result.OkText = config.OkText;
            }
            if (config.CancelText != null)
            {
                result.CancelText = config.CancelText;
            }
            if (config.Placeholder != null)
            {
                result.Placeholder = config.Placeholder;
            }
            if (config.MaxLength != null)
            {
                result.MaxLength = config.MaxLength;
            }
            if (config.AndroidStyleId != null)
            {
                result.AndroidStyleId = config.AndroidStyleId;
            }
            if (config.InputType != null)
            {
                result.InputType = ConvertToAcrInputType(config.InputType.Value);
            }
            if (config.OnTextChanged != null)
            {
                result.OnTextChanged = GetPromptTextChangedArgsAction(config.OnTextChanged);
            }

            return(result);
        }
Example #2
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));
        }
Example #3
0
 /// <summary> Prompts the given configuration. </summary>
 /// <param name="config"> The configuration. </param>
 /// <returns> An IDisposable. </returns>
 public IDisposable Prompt(UserDialogPromptConfig config)
 {
     return(AcrDialogs.UserDialogs.Instance.Prompt(GetPromptConfig(config)));
 }