feat(Navigation) Added a search button for desktop users

This commit is contained in:
2022-04-16 14:49:51 -04:00
parent 5d5a0bde59
commit b9e3633d1c
26 changed files with 578 additions and 61 deletions
+46 -25
View File
@@ -1,39 +1,36 @@
@inherits LayoutComponentBase;
@inject IJSRuntime jsRuntime
@inject ISearchService searchService
@inject IWebsiteService webService;
@implements IDisposable;
<div class="layoutContainer">
@if (!webService.IsLoaded())
{
<LoadingComponent/>
}
else
{
<div class="content">
@Body
</div>
<div class="pageContents">
<div class="layoutContainer">
@if (!webService.IsLoaded())
{
<LoadingComponent/>
}
else
{
<div class="content">
@Body
</div>
<DesktopNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
<TabletNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
<MobileNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
}
<DesktopNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
<TabletNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
<MobileNavComponent WebSections=webService.WebSectionModels
WebPages=webService.WebPageModels/>
}
</div>
</div>
@code {
#if NO_SQL
#else
[Inject]
DatabaseContext Database { get; set; }
#endif
protected override void OnInitialized()
{
webService.Subscribe(HasChanged);
@@ -42,6 +39,19 @@
protected override async Task OnInitializedAsync()
{
await webService.Load();
await Focus();
}
private async Task Focus()
{
// await jsRuntime.InvokeVoidAsync("SetFocusToElement", pageContents);
}
protected override async void OnAfterRender(bool firstRender)
{
// await jsRuntime.InvokeVoidAsync("SetFocusToElement", pageContents);
}
void IDisposable.Dispose()
@@ -54,4 +64,15 @@
StateHasChanged();
}
private void HandleKeyDown(KeyboardEventArgs keyboardEventArgs)
{
if ((keyboardEventArgs.CtrlKey || keyboardEventArgs.MetaKey) && keyboardEventArgs.Key.ToLower() == "k")
{
searchService.Show();
}
Console.WriteLine(keyboardEventArgs.CtrlKey + " " + keyboardEventArgs.Key);
}
}