From a1a55aa39602c2283af97a06e777490de880bfc53171e848b0de5df061596f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= <93217193+Daniel-Garmig@users.noreply.github.com> Date: Thu, 10 Sep 2026 18:27:56 +0200 Subject: [PATCH] Small fixes and improvements: - StayExport - SpainParteViajerosProvider - Fixed validation for codigoPostal/codMunicipio. - AddressQueryDialog - Add loading indication and "debounce" input to reduce API queries. --- .../Controls/AddressQueryDialog.razor | 26 +++++++++++++++---- .../StayExportProviderSpainParteViajeros.cs | 2 +- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/Somnia.GuestLog/Components/Controls/AddressQueryDialog.razor b/src/Somnia.GuestLog/Components/Controls/AddressQueryDialog.razor index 7f8b2b7..3164d2a 100644 --- a/src/Somnia.GuestLog/Components/Controls/AddressQueryDialog.razor +++ b/src/Somnia.GuestLog/Components/Controls/AddressQueryDialog.razor @@ -17,13 +17,22 @@ - + - @if (addressResults.Count == 0) + @if (addressResults.Count == 0 && !_isDataLoading) { - @LanguageLocale.general_noResults + + + @LanguageLocale.general_noResults + + + } + + @if (_isDataLoading) + { + } addressResults = []; private AddressResultDTO? SelectedAddressResult { get; set; } + private bool _isDataLoading = false; + private string _lastSearchText = ""; + private void Cancel() { @@ -99,16 +111,20 @@ private async Task btnSearchAddress() { - if (SearchText.Length == 0) + if (SearchText.Length == 0 || SearchText == _lastSearchText) { return; } try { - var queryService = addressQueryFactory.GetService(); + _isDataLoading = true; + var queryService = addressQueryFactory.GetService(); addressResults = await queryService.SearchAddressAsync(SearchText); + _lastSearchText = SearchText; + + _isDataLoading = false; } catch (Exception ex) { diff --git a/src/Somnia.GuestLog/Services/StayExport/StayExportProviderSpainParteViajeros.cs b/src/Somnia.GuestLog/Services/StayExport/StayExportProviderSpainParteViajeros.cs index f79e915..9b910f4 100644 --- a/src/Somnia.GuestLog/Services/StayExport/StayExportProviderSpainParteViajeros.cs +++ b/src/Somnia.GuestLog/Services/StayExport/StayExportProviderSpainParteViajeros.cs @@ -306,7 +306,7 @@ public class StayExportProviderSpainParteViajeros( .NotEmpty() .When(p => p.pais != PersonDireccionPais_ESP) .MaximumLength(100); - d.RuleFor(p => p.codigoMunicipio) + d.RuleFor(p => p.codigoPostal) .NotEmpty() .MaximumLength(20); d.RuleFor(p => p.pais)