Home page search transition improved.

This commit is contained in:
Harrison Deng 2021-06-05 16:45:02 -05:00
parent 21fe7845f8
commit 7e240bd584
3 changed files with 21 additions and 11 deletions

View File

@ -5,7 +5,7 @@
<div class="my-2"> <div class="my-2">
<div class="my-2"> <div class="my-2">
<SearchBar SearchPlaceholder="What are you looking for?" OnSearchRequested="@PerformSearch" @ref="searchBar"> <SearchBar SearchPlaceholder="What are you looking for?" OnSearchRequested="@PerformSearch" @ref="searchBar" StartDisabled="@true">
<Append> <Append>
<ToggleableButton class="btn btn-outline-secondary" title="Configure" OnToggleCallback="@((t) => {status.SearchConfiguring = t; StateHasChanged();})"><span class="oi oi-cog align-text-top"></span></ToggleableButton> <ToggleableButton class="btn btn-outline-secondary" title="Configure" OnToggleCallback="@((t) => {status.SearchConfiguring = t; StateHasChanged();})"><span class="oi oi-cog align-text-top"></span></ToggleableButton>
</Append> </Append>

View File

@ -82,20 +82,16 @@ namespace MultiShop.Client.Pages
if (activeSearchProfile == null) activeSearchProfile = new SearchProfile(); if (activeSearchProfile == null) activeSearchProfile = new SearchProfile();
if (activeResultsProfile == null) activeResultsProfile = new ResultsProfile(); if (activeResultsProfile == null) activeResultsProfile = new ResultsProfile();
activeSearchProfile.ShopStates.TotalShops = Shops.Count; activeSearchProfile.ShopStates.TotalShops = Shops.Count;
if (Query != null)
{
searchBar.Query = Query;
await searchBar.Search();
}
} }
protected override async Task OnAfterRenderAsync(bool firstRender) protected override async Task OnParametersSetAsync()
{ {
await base.OnAfterRenderAsync(firstRender); await base.OnParametersSetAsync();
if (firstRender) if (Query != null) {
{
searchBar.Query = Query; searchBar.Query = Query;
await searchBar.Search();
} else {
searchBar.Ready();
} }
} }

View File

@ -25,14 +25,28 @@
[Parameter] [Parameter]
public EventCallback<string> OnSearchRequested { get; set; } public EventCallback<string> OnSearchRequested { get; set; }
[Parameter]
public bool StartDisabled { get; set; }
public bool Disabled { get; private set; } public bool Disabled { get; private set; }
private string groupClassCss => "input-group " + (AdditionalAttributes != null && AdditionalAttributes.ContainsKey("class") ? AdditionalAttributes["class"] as string : null); private string groupClassCss => "input-group " + (AdditionalAttributes != null && AdditionalAttributes.ContainsKey("class") ? AdditionalAttributes["class"] as string : null);
protected override void OnParametersSet()
{
base.OnParametersSet();
if (StartDisabled) Disabled = true;
}
public async Task Search() public async Task Search()
{ {
Disabled = true; Disabled = true;
await OnSearchRequested.InvokeAsync(Query); await OnSearchRequested.InvokeAsync(Query);
Disabled = false; Disabled = false;
} }
public void Ready()
{
Disabled = false;
}
} }