trying to ensure search input chars are not 'eaten'

This commit is contained in:
Frede Hundewadt 2022-08-16 12:10:06 +02:00
parent b8c354958e
commit 13ac64860e
6 changed files with 22 additions and 10 deletions

View file

@ -21,7 +21,7 @@ namespace Wonky.Client.Components
{
public partial class SearchPhraseComponent
{
private Timer _timer = new();
private Timer _timer { get; set; } = new();
private string _searchTerm { get; set; } = "";
[Parameter] public EventCallback<string> OnChanged { get; set; }
[Parameter] public string SavedSearch { get; set; } = "";
@ -33,7 +33,8 @@ namespace Wonky.Client.Components
protected override void OnInitialized()
{
if (string.IsNullOrWhiteSpace(_searchTerm)) return;
if (string.IsNullOrWhiteSpace(SavedSearch)) return;
_searchTerm = SavedSearch;
OnChanged.InvokeAsync(_searchTerm);
}
@ -41,22 +42,22 @@ namespace Wonky.Client.Components
{
SavedSearch = "";
_searchTerm = "";
OnChanged.InvokeAsync(_searchTerm);
OnChanged.InvokeAsync("");
}
private void OnSearchChanged()
{
_timer.Enabled = false;
_timer.Dispose();
// create new timer
_timer = new Timer(500);
_timer.Elapsed += OnTimerElapsed;
_timer.AutoReset = false;
_timer.Elapsed += OnTimerElapsed;
_timer.Enabled = true;
}
private void OnTimerElapsed(object? sender, ElapsedEventArgs e)
{
// if (!string.IsNullOrWhiteSpace(_searchTerm) && _searchTerm.Length < 3) return;
OnChanged.InvokeAsync(_searchTerm);
_timer.Elapsed -= OnTimerElapsed;
_timer.Enabled = false;

View file

@ -94,6 +94,10 @@ namespace Wonky.Client.Pages
{
_savedSearch = searchTerm;
await _preferenceService.SetCompanyFilterPhrase(searchTerm.Trim());
// do not trigger search unless minimum 4 chars
if (!string.IsNullOrWhiteSpace(searchTerm) && searchTerm.Length < 4) return;
_companyList = new List<CompanyDto>();
_paging.PageNumber = 1;
_paging.SearchTerm = searchTerm;

View file

@ -37,7 +37,7 @@
<ItemSortComponent OnChanged="SetSortCol"/>
</div>
<div class="col-md-2">
<PageSizeComponent OnChanged="SetPageSize"></PageSizeComponent>
<PageSizeComponent OnChanged="SetPageSize" />
</div>
</div>
<div class="row mb-3">

View file

@ -62,6 +62,11 @@ public partial class ItemCatalogPage : IDisposable
private async Task SetSearchPhrase(string searchTerm)
{
_searchTerm = searchTerm;
if (_paging.SearchColumn != "shortName"
&& !string.IsNullOrWhiteSpace(_searchTerm)
&& _searchTerm.Length < 4) return;
_items = new List<SalesItemView>();
_paging.PageNumber = 1;
_paging.SearchTerm = searchTerm;

View file

@ -40,11 +40,12 @@ public partial class OfficeNewOrderPage : IDisposable
_interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent();
_company = await _companyRepo.GetCompanyById(CompanyId);
_userInfo = await _userRepo.GetAdvisorInfo(_company.SalesRepId);
}
protected override async Task OnInitializedAsync()
{
_userInfo = await _userRepo.GetAdvisorInfo(_company.SalesRepId);
_editContext = new EditContext(_draft);
_editContext.OnFieldChanged += HandleFieldChanged;
_editContext.OnValidationStateChanged += ValidationChanged;
@ -99,6 +100,7 @@ public partial class OfficeNewOrderPage : IDisposable
{
_priceList.Show();
}
private async Task SelectSku(SelectedSku sku)
{
ShowItem = true;

View file

@ -1,7 +1,7 @@
{
"appInfo": {
"name": "Wonky Client",
"version": "0.10.84",
"version": "0.10.92",
"rc": true,
"sandBox": false,
"image": "grumpy-coder.png"
@ -12,7 +12,7 @@
"glsId": "",
"serviceVirk": "api/v2/services/virk",
"serviceBrReg": "api/v2/services/brReg",
"servcieVies": "api/v2/services/vies",
"serviceVies": "api/v2/services/vies",
"crmAuth": "token",
"crmUser": "api/auth/userinfo",
"crmCatalog": "api/v2/crm/catalog",