Move Search bar into its own component.
This commit is contained in:
parent
7cf251570c
commit
bdfc834753
@ -0,0 +1,25 @@
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" placeholder="Search servers"
|
||||
@bind-value="serverFilter"
|
||||
@bind-value:event="oninput" />
|
||||
<button class="btn btn-outline-secondary" type="button" id="button-search" @onclick="HandleSearch">Search</button>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private string _serverFilter = "";
|
||||
private string serverFilter {
|
||||
get => _serverFilter;
|
||||
set
|
||||
{
|
||||
_serverFilter = value;
|
||||
}
|
||||
}
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<string> FilterSearchTerm { get; set; }
|
||||
|
||||
private void HandleSearch()
|
||||
{
|
||||
FilterSearchTerm.InvokeAsync(serverFilter);
|
||||
}
|
||||
}
|
||||
@ -8,12 +8,22 @@
|
||||
}
|
||||
|
||||
@code {
|
||||
private List<Server>? servers;
|
||||
|
||||
[Parameter]
|
||||
public string? CityName { get; set; }
|
||||
private List<Server>? servers;
|
||||
[Parameter]
|
||||
public string SearchFilter { get; set; } = "";
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(this.SearchFilter))
|
||||
{
|
||||
servers = ServersRepository.GetServersByCity(CityName ?? "Eindhoven");
|
||||
}
|
||||
else
|
||||
{
|
||||
servers = ServersRepository.SearchServers(SearchFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6,39 +6,30 @@
|
||||
<br/>
|
||||
<CityListComponent SelectCityCallBack="HandleCitySelection"></CityListComponent>
|
||||
<br/>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" placeholder="Search servers"
|
||||
@bind-value="serverFilter"
|
||||
@bind-value:event="oninput" />
|
||||
<button class="btn btn-outline-secondary" type="button" id="button-search" @onclick="HandleSearch">Search</button>
|
||||
</div>
|
||||
<SearchBarComponent FilterSearchTerm="HandleSearch"></SearchBarComponent>
|
||||
<br/>
|
||||
<a href="@($"/servers/add")" class="btn btn-primary">Add</a>
|
||||
<br/>
|
||||
|
||||
<ServerListComponent CityName="@this.selectedCity"></ServerListComponent>
|
||||
<ServerListComponent
|
||||
CityName="@this.selectedCity"
|
||||
SearchFilter="@this.searchFilter">
|
||||
|
||||
</ServerListComponent>
|
||||
|
||||
@code {
|
||||
private string selectedCity = "Eindhoven";
|
||||
private string _serverFilter = "";
|
||||
private string serverFilter {
|
||||
get => _serverFilter;
|
||||
set
|
||||
{
|
||||
_serverFilter = value;
|
||||
//this.servers = ServersRepository.SearchServers(_serverFilter);
|
||||
//this.selectedCity = string.Empty;
|
||||
}
|
||||
}
|
||||
private string searchFilter = "";
|
||||
|
||||
private void HandleCitySelection(string cityName)
|
||||
{
|
||||
this.searchFilter = string.Empty;
|
||||
this.selectedCity = cityName;
|
||||
}
|
||||
|
||||
private void HandleSearch()
|
||||
private void HandleSearch(string searchFilter)
|
||||
{
|
||||
//this.servers = ServersRepository.SearchServers(serverFilter);
|
||||
// this.selectedCity = string.Empty;
|
||||
this.selectedCity = string.Empty;
|
||||
this.searchFilter = searchFilter;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user