Files
Aaru.Server/Aaru.Server.New/Components/Pages/Report/View.razor

170 lines
6.6 KiB
Plaintext

@page "/Report/View/{Id:int}"
@using Aaru.Server.Database
@using Blazorise
@rendermode InteractiveServer
@inject Microsoft.EntityFrameworkCore.IDbContextFactory<DbContext> DbContextFactory
<PageTitle>@_pageTitle</PageTitle>
@if(_notFound)
{
<div class="stats-section">
<h1 style="color: red; align-content: center; padding: 2rem">The requested device report has not been found...</h1>
</div>
return;
}
@if(!_initialized)
{
<div class="stats-section">
<h1 style="color: red; align-content: center; padding: 2rem">Loading...</h1>
</div>
return;
}
<div class="stats-section">
<h1 style="color: #e18fdc; align-content: center; padding: 2rem">@_pageTitle</h1>
</div>
<Accordion class="stats-section">
@if(UsbItem is not null)
{
<AccordionItem>
<AccordionHeader>
<Heading Size="HeadingSize.Is5">
<AccordionToggle>USB characteristics</AccordionToggle>
</Heading>
</AccordionHeader>
<AccordionBody>
<Table FullWidth>
<TableBody>
<TableRow>
<TableRowHeader class="text-end">Manufacturer</TableRowHeader>
<TableRowCell>@UsbItem.Manufacturer</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Product</TableRowHeader>
<TableRowCell>@UsbItem.Product</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Vendor ID</TableRowHeader>
<TableRowCell>@UsbItem.VendorDescription</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Product ID</TableRowHeader>
<TableRowCell>@UsbItem.ProductDescription</TableRowCell>
</TableRow>
</TableBody>
</Table>
</AccordionBody>
</AccordionItem>
}
@if(FireWireItem is not null)
{
<AccordionItem>
<AccordionHeader>
<Heading Size="HeadingSize.Is5">
<AccordionToggle>FireWire characteristics</AccordionToggle>
</Heading>
</AccordionHeader>
<AccordionBody>
<Table FullWidth>
<TableBody>
<TableRow>
<TableRowHeader class="text-end">Manufacturer</TableRowHeader>
<TableRowCell>@FireWireItem.Manufacturer</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Product</TableRowHeader>
<TableRowCell>@FireWireItem.Product</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Vendor ID</TableRowHeader>
<TableRowCell>@FireWireItem.VendorDescription</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Product ID</TableRowHeader>
<TableRowCell>@FireWireItem.ProductDescription</TableRowCell>
</TableRow>
</TableBody>
</Table>
</AccordionBody>
</AccordionItem>
}
@if(PcmciaItem != null)
{
<AccordionItem>
<AccordionHeader>
<Heading Size="HeadingSize.Is5">
<AccordionToggle>PCMCIA characteristics</AccordionToggle>
</Heading>
</AccordionHeader>
<AccordionBody>
<Table FullWidth>
<TableBody>
<TableRow>
<TableRowHeader class="text-end">Manufacturer</TableRowHeader>
<TableRowCell>@PcmciaItem.Manufacturer</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Product</TableRowHeader>
<TableRowCell>@PcmciaItem.Product</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Manufacturer code</TableRowHeader>
<TableRowCell>@PcmciaItem.VendorDescription</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Card code</TableRowHeader>
<TableRowCell>@PcmciaItem.ProductDescription</TableRowCell>
</TableRow>
<TableRow>
<TableRowHeader class="text-end">Compliance</TableRowHeader>
<TableRowCell>@PcmciaItem.Compliance</TableRowCell>
</TableRow>
@if(PcmciaTuples != null)
{
foreach(KeyValuePair<string, string> kvp in PcmciaTuples)
{
<TableRow>
<TableRowHeader class="text-end">@kvp.Key</TableRowHeader>
<TableRowCell>@kvp.Value</TableRowCell>
</TableRow>
}
}
</TableBody>
</Table>
</AccordionBody>
</AccordionItem>
}
@if(AtaItem != null)
{
<AccordionItem>
<AccordionHeader>
<Heading Size="HeadingSize.Is5">
<AccordionToggle>@AtaItem characteristics</AccordionToggle>
</Heading>
</AccordionHeader>
<AccordionBody>
<span>
@lblAtaDeviceType<br/>
</span>
@foreach(KeyValuePair<string, string> kvp in AtaTwo!)
{
<span>
<i>@kvp.Key</i>: @kvp.Value
<br/>
</span>
}
<br/>
@foreach(string item in AtaOne!)
{
<span>
@item<br/>
</span>
}
</AccordionBody>
</AccordionItem>
}
</Accordion>