diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeSenderEditorPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeSenderEditorPage.razor index 8e8d4fc4..5c3d4e99 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeSenderEditorPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Components/Pages/EnvelopeSenderEditorPage.razor @@ -312,7 +312,7 @@ TValue="string" Data="@_receiverEmailSuggestions" Value="@_selectedReceiverEmailSuggestion" - ValueChanged="OnReceiverEmailSuggestionSelectedAsync" + ValueChanged="OnReceiverEmailSuggestionCommittedAsync" SelectionMode="ListBoxSelectionMode.Single" CssClass="w-100" /> @@ -535,12 +535,12 @@ if (e.Key == "ArrowDown") { var nextIndex = currentIndex < _receiverEmailSuggestions.Count - 1 ? currentIndex + 1 : 0; - await OnReceiverEmailSuggestionSelectedAsync(_receiverEmailSuggestions[nextIndex]); + SelectReceiverEmailSuggestion(_receiverEmailSuggestions[nextIndex]); } else if (e.Key == "ArrowUp") { var nextIndex = currentIndex > 0 ? currentIndex - 1 : _receiverEmailSuggestions.Count - 1; - await OnReceiverEmailSuggestionSelectedAsync(_receiverEmailSuggestions[nextIndex]); + SelectReceiverEmailSuggestion(_receiverEmailSuggestions[nextIndex]); } else if (e.Key == "Enter") { @@ -549,10 +549,7 @@ : _receiverEmailSuggestions.FirstOrDefault(); if (!string.IsNullOrWhiteSpace(selectedValue)) - { - await OnReceiverEmailSuggestionSelectedAsync(selectedValue); - _receiverEmailSuggestions.Clear(); - } + await OnReceiverEmailSuggestionCommittedAsync(selectedValue); } else if (e.Key == "Escape") { @@ -561,14 +558,26 @@ } } - Task OnReceiverEmailSuggestionSelectedAsync(string? value) + void SelectReceiverEmailSuggestion(string? value) { if (string.IsNullOrWhiteSpace(value)) - return Task.CompletedTask; + return; _selectedReceiverEmailSuggestion = value.Trim(); _receiverDraftEmail = _selectedReceiverEmailSuggestion; _receiverPopupValidationMessage = null; + } + + Task OnReceiverEmailSuggestionSelectedAsync(string? value) + { + SelectReceiverEmailSuggestion(value); + return Task.CompletedTask; + } + + Task OnReceiverEmailSuggestionCommittedAsync(string? value) + { + SelectReceiverEmailSuggestion(value); + _receiverEmailSuggestions.Clear(); return Task.CompletedTask; }