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