Frontend navbar retrieves modules from database
This commit is contained in:
parent
bbb1df772b
commit
6ad23b3e14
9
src/PanoptesFrontend/Data/Module.cs
Normal file
9
src/PanoptesFrontend/Data/Module.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
public class Module {
|
||||||
|
public String Name {get; set;}
|
||||||
|
public String Container {get; set;}
|
||||||
|
|
||||||
|
public Module(string name, string container){
|
||||||
|
Name = name;
|
||||||
|
Container = container;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,4 +1,8 @@
|
|||||||
<div class="top-row ps-3 navbar navbar-dark">
|
@using PanoptesFrontend.Data
|
||||||
|
@using System.Text.Json;
|
||||||
|
@inject IHttpService httpService
|
||||||
|
|
||||||
|
<div class="top-row ps-3 navbar navbar-dark">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<a class="navbar-brand" href="">PanoptesFrontend</a>
|
<a class="navbar-brand" href="">PanoptesFrontend</a>
|
||||||
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
||||||
@ -9,29 +13,31 @@
|
|||||||
|
|
||||||
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
|
||||||
<nav class="flex-column">
|
<nav class="flex-column">
|
||||||
<div class="nav-item px-3">
|
@if (response != null)
|
||||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
{
|
||||||
<span class="oi oi-home" aria-hidden="true"></span> Home
|
@foreach (var module in response){
|
||||||
</NavLink>
|
<div class="nav-item px-3">
|
||||||
</div>
|
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
||||||
<div class="nav-item px-3">
|
<span class="oi oi-home" aria-hidden="true"></span> @module.Name
|
||||||
<NavLink class="nav-link" href="counter">
|
</NavLink>
|
||||||
<span class="oi oi-plus" aria-hidden="true"></span> Counter
|
</div>
|
||||||
</NavLink>
|
}
|
||||||
</div>
|
}
|
||||||
<div class="nav-item px-3">
|
|
||||||
<NavLink class="nav-link" href="fetchdata">
|
|
||||||
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
|
public Module[] response;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
response = await httpService.GetAsync<Module[]>("http://localhost:10000/modules");
|
||||||
|
}
|
||||||
|
|
||||||
private bool collapseNavMenu = true;
|
private bool collapseNavMenu = true;
|
||||||
|
|
||||||
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
||||||
|
|
||||||
private void ToggleNavMenu()
|
private void ToggleNavMenu()
|
||||||
{
|
{
|
||||||
collapseNavMenu = !collapseNavMenu;
|
collapseNavMenu = !collapseNavMenu;
|
||||||
|
|||||||
@ -32,7 +32,7 @@ type Module struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var Containers []Container
|
var Containers []Container
|
||||||
var Modules []Module
|
|
||||||
|
|
||||||
func homePage(w http.ResponseWriter, r *http.Request) {
|
func homePage(w http.ResponseWriter, r *http.Request) {
|
||||||
fmt.Fprintf(w, "Welcome to the home page!")
|
fmt.Fprintf(w, "Welcome to the home page!")
|
||||||
@ -92,6 +92,7 @@ func getStats(w http.ResponseWriter, r *http.Request){
|
|||||||
func getModules(db *sql.DB) http.HandlerFunc{
|
func getModules(db *sql.DB) http.HandlerFunc{
|
||||||
return func(w http.ResponseWriter, r *http.Request){
|
return func(w http.ResponseWriter, r *http.Request){
|
||||||
if r.Method == "GET" {
|
if r.Method == "GET" {
|
||||||
|
var Modules []Module
|
||||||
rows, err := db.Query("Select name, container_name FROM Module")
|
rows, err := db.Query("Select name, container_name FROM Module")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
@ -127,6 +128,7 @@ func handleRequests(DB *sql.DB) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
DB := db.ConnectDB()
|
DB := db.ConnectDB()
|
||||||
handleRequests(DB)
|
handleRequests(DB)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user