Add project files.
This commit is contained in:
12
Blazor3State/Shared/LoadingContainer.razor
Normal file
12
Blazor3State/Shared/LoadingContainer.razor
Normal file
@ -0,0 +1,12 @@
|
||||
@if (State == LoadingContainerState.Loading)
|
||||
{
|
||||
@Loading
|
||||
}
|
||||
else if (State == LoadingContainerState.Loaded)
|
||||
{
|
||||
@Loaded
|
||||
}
|
||||
else if (State == LoadingContainerState.Error)
|
||||
{
|
||||
@ErrorContent
|
||||
}
|
||||
23
Blazor3State/Shared/LoadingContainer.razor.cs
Normal file
23
Blazor3State/Shared/LoadingContainer.razor.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Blazor3State.Shared
|
||||
{
|
||||
public enum LoadingContainerState { Loading, Loaded, Error }
|
||||
|
||||
public partial class LoadingContainer
|
||||
{
|
||||
[Parameter]
|
||||
public LoadingContainerState State { get; set; }
|
||||
[Parameter]
|
||||
public RenderFragment Loading { get; set; }
|
||||
[Parameter]
|
||||
public RenderFragment Loaded { get; set; }
|
||||
[Parameter]
|
||||
public RenderFragment ErrorContent { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
15
Blazor3State/Shared/MainLayout.razor
Normal file
15
Blazor3State/Shared/MainLayout.razor
Normal file
@ -0,0 +1,15 @@
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="sidebar">
|
||||
<NavMenu />
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<div class="top-row px-4">
|
||||
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
||||
</div>
|
||||
|
||||
<div class="content px-4">
|
||||
@Body
|
||||
</div>
|
||||
</div>
|
||||
37
Blazor3State/Shared/NavMenu.razor
Normal file
37
Blazor3State/Shared/NavMenu.razor
Normal file
@ -0,0 +1,37 @@
|
||||
<div class="top-row pl-4 navbar navbar-dark">
|
||||
<a class="navbar-brand" href="">Blazor3State</a>
|
||||
<button class="navbar-toggler" @onclick="ToggleNavMenu">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
||||
<span class="oi oi-home" aria-hidden="true"></span> Home
|
||||
</NavLink>
|
||||
</li>
|
||||
<li class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="counter">
|
||||
<span class="oi oi-plus" aria-hidden="true"></span> Counter
|
||||
</NavLink>
|
||||
</li>
|
||||
<li class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="fetchdata">
|
||||
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
|
||||
</NavLink>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private bool collapseNavMenu = true;
|
||||
|
||||
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
||||
|
||||
private void ToggleNavMenu()
|
||||
{
|
||||
collapseNavMenu = !collapseNavMenu;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user