mirror of
https://github.com/claunia/marechai.git
synced 2025-12-16 19:14:25 +00:00
Make collapsibles work again in machine view.
This commit is contained in:
@@ -135,8 +135,12 @@
|
|||||||
@{ counter = 0; }
|
@{ counter = 0; }
|
||||||
@foreach (var processor in _machine.Processors)
|
@foreach (var processor in _machine.Processors)
|
||||||
{
|
{
|
||||||
|
int currentCounter = counter;
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<Collapse Visible="@_processorVisible[currentCounter]">
|
||||||
|
<CollapseHeader>
|
||||||
@if (processor.Speed > 0)
|
@if (processor.Speed > 0)
|
||||||
{
|
{
|
||||||
@(processor.GprSize > 0 ? string.Format(L["{0} @ {1}MHz ({2} bits)"], processor.Name, processor.Speed, processor.GprSize) : string.Format(L["{0} @ {1}MHz"], processor.Name, processor.Speed))
|
@(processor.GprSize > 0 ? string.Format(L["{0} @ {1}MHz ({2} bits)"], processor.Name, processor.Speed, processor.GprSize) : string.Format(L["{0} @ {1}MHz"], processor.Name, processor.Speed))
|
||||||
@@ -145,11 +149,11 @@
|
|||||||
{
|
{
|
||||||
@($"{processor.Name}")
|
@($"{processor.Name}")
|
||||||
}
|
}
|
||||||
<a aria-controls="@($"cpuInfo{counter}")" aria-expanded="false" class="btn btn-link" data-toggle="collapse" href="@($"#cpuInfo{counter}")">
|
<span class="btn btn-link" @onclick="() => _processorVisible[currentCounter] = !_processorVisible[currentCounter]">
|
||||||
@L["+info"]
|
@L["+info"]
|
||||||
</a>
|
</span>
|
||||||
<div class="collapse" id="@($"cpuInfo{counter}")">
|
</CollapseHeader>
|
||||||
<div class="card card-body">
|
<CollapseBody Class="card card-body">
|
||||||
<table>
|
<table>
|
||||||
@if (processor.ModelCode != null &&
|
@if (processor.ModelCode != null &&
|
||||||
processor.ModelCode != processor.Name)
|
processor.ModelCode != processor.Name)
|
||||||
@@ -192,7 +196,7 @@
|
|||||||
processor.SimdRegisters > 0)
|
processor.SimdRegisters > 0)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td>Registers</td>
|
<td>@L["Registers"]</td>
|
||||||
<td>
|
<td>
|
||||||
<table>
|
<table>
|
||||||
@if (processor.Gprs > 0)
|
@if (processor.Gprs > 0)
|
||||||
@@ -408,8 +412,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</CollapseBody>
|
||||||
</div>
|
</Collapse>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@@ -497,29 +501,35 @@
|
|||||||
@{ counter = 0; }
|
@{ counter = 0; }
|
||||||
@foreach (var gpu in _machine.Gpus)
|
@foreach (var gpu in _machine.Gpus)
|
||||||
{
|
{
|
||||||
|
int currentCounter = counter;
|
||||||
|
|
||||||
if (gpu.Id == -2)
|
if (gpu.Id == -2)
|
||||||
{
|
{
|
||||||
<td>
|
<td>
|
||||||
|
<Collapse Visible="@_gpuVisible[currentCounter]">
|
||||||
|
<CollapseHeader>
|
||||||
@L["Framebuffer"]
|
@L["Framebuffer"]
|
||||||
<a aria-controls="@($"gpuInfo{counter}")" aria-expanded="false" class="btn btn-link" data-toggle="collapse" href="@($"#gpuInfo{counter}")">
|
<span class="btn btn-link" @onclick="() => _gpuVisible[currentCounter] = !_gpuVisible[currentCounter]">
|
||||||
@L["+info"]
|
@L["+info"]
|
||||||
</a>
|
</span>
|
||||||
<div class="collapse" id="@($"gpuInfo{counter}")">
|
</CollapseHeader>
|
||||||
<div class="card card-body">
|
<CollapseBody Class="card card-body">
|
||||||
@L["This machine directly draws pixels from software to a memory region that's converted to video output by a DAC or similar without using any specific graphics processing unit."]
|
@L["This machine directly draws pixels from software to a memory region that's converted to video output by a DAC or similar without using any specific graphics processing unit."]
|
||||||
</div>
|
</CollapseBody>
|
||||||
</div>
|
</Collapse>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<td>
|
<td>
|
||||||
|
<Collapse Visible="@_gpuVisible[currentCounter]">
|
||||||
|
<CollapseHeader>
|
||||||
@($"{gpu.Name}")
|
@($"{gpu.Name}")
|
||||||
<a aria-controls="@($"gpuInfo{counter}")" aria-expanded="false" class="btn btn-link" data-toggle="collapse" href="@($"#gpuInfo{counter}")">
|
<span class="btn btn-link" @onclick="() => _gpuVisible[currentCounter] = !_gpuVisible[currentCounter]">
|
||||||
@L["+info"]
|
@L["+info"]
|
||||||
</a>
|
</span>
|
||||||
<div class="collapse" id="@($"gpuInfo{counter}")">
|
</CollapseHeader>
|
||||||
<div class="card card-body">
|
<CollapseBody Class="card card-body">
|
||||||
<table>
|
<table>
|
||||||
@if (gpu.ModelCode != null &&
|
@if (gpu.ModelCode != null &&
|
||||||
gpu.ModelCode != gpu.Name)
|
gpu.ModelCode != gpu.Name)
|
||||||
@@ -601,8 +611,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</CollapseBody>
|
||||||
</div>
|
</Collapse>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
counter++;
|
counter++;
|
||||||
@@ -624,30 +634,36 @@
|
|||||||
@{ counter = 0; }
|
@{ counter = 0; }
|
||||||
@foreach (var sound in _machine.SoundSynthesizers)
|
@foreach (var sound in _machine.SoundSynthesizers)
|
||||||
{
|
{
|
||||||
|
int currentCounter = counter;
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
@if (sound.Id == -2)
|
@if (sound.Id == -2)
|
||||||
{
|
{
|
||||||
<td>
|
<td>
|
||||||
|
<Collapse Visible="@_soundVisible[currentCounter]">
|
||||||
|
<CollapseHeader>
|
||||||
@L["Software"]
|
@L["Software"]
|
||||||
<a aria-controls="@($"synthInfo{counter}")" aria-expanded="false" class="btn btn-link" data-toggle="collapse" href="@($"#synthInfo{counter}")">
|
<span class="btn btn-link" @onclick="() => _soundVisible[currentCounter] = !_soundVisible[currentCounter]">
|
||||||
@L["+info"]
|
@L["+info"]
|
||||||
</a>
|
</span>
|
||||||
<div class="collapse" id="@($"synthInfo{counter}")">
|
</CollapseHeader>
|
||||||
<div class="card card-body">
|
<CollapseBody Class="card card-body">
|
||||||
@L["This machine directly sends data to a DAC or similar connected to the audio output."]
|
@L["This machine directly sends data to a DAC or similar connected to the audio output."]
|
||||||
</div>
|
</CollapseBody>
|
||||||
</div>
|
</Collapse>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<td>
|
<td>
|
||||||
|
<Collapse Visible="@_soundVisible[currentCounter]">
|
||||||
|
<CollapseHeader>
|
||||||
@($"{sound.Name}")
|
@($"{sound.Name}")
|
||||||
<a aria-controls="@($"synthInfo{counter}")" aria-expanded="false" class="btn btn-link" data-toggle="collapse" href="@($"#synthInfo{counter}")">
|
<span class="btn btn-link" @onclick="() => _soundVisible[currentCounter] = !_soundVisible[currentCounter]">
|
||||||
@L["+info"]
|
@L["+info"]
|
||||||
</a>
|
</span>
|
||||||
<div class="collapse" id="@($"synthInfo{counter}")">
|
</CollapseHeader>
|
||||||
<div class="card card-body">
|
<CollapseBody Class="card card-body">
|
||||||
<table>
|
<table>
|
||||||
@if (sound.ModelCode != null &&
|
@if (sound.ModelCode != null &&
|
||||||
sound.ModelCode != sound.Name)
|
sound.ModelCode != sound.Name)
|
||||||
@@ -762,8 +778,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</CollapseBody>
|
||||||
</div>
|
</Collapse>
|
||||||
</td>
|
</td>
|
||||||
}
|
}
|
||||||
</tr>
|
</tr>
|
||||||
@@ -867,11 +883,35 @@
|
|||||||
|
|
||||||
MachineViewModel _machine;
|
MachineViewModel _machine;
|
||||||
bool _loaded;
|
bool _loaded;
|
||||||
|
bool[] _processorVisible;
|
||||||
|
bool[] _gpuVisible;
|
||||||
|
bool[] _soundVisible;
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_machine = await Service.GetMachine(Id);
|
_machine = await Service.GetMachine(Id);
|
||||||
|
|
||||||
|
_processorVisible = new bool[_machine.Processors.Count];
|
||||||
|
_gpuVisible = new bool[_machine.Gpus.Count];
|
||||||
|
_soundVisible = new bool[_machine.SoundSynthesizers.Count];
|
||||||
|
|
||||||
_loaded = true;
|
_loaded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.card {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-header {
|
||||||
|
padding: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
background-color: unset;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-body {
|
||||||
|
padding: unset;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user