mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-04-19 22:08:34 -04:00
43 lines
969 B
Plaintext
43 lines
969 B
Plaintext
@namespace Sandbox.UI.Dev
|
|
@inherits Panel
|
|
|
|
<root class="@classes">
|
|
<div class="close" onclick="@Hide"><i>close</i></div>
|
|
<div @ref="Output" class="message" AllowChildSelection="true" AcceptsFocus="true" @onkeypress="KeyPress">
|
|
<div class="text">@message</div>
|
|
<div class="stack">@entry.Stack</div>
|
|
</div>
|
|
</root>
|
|
|
|
@code
|
|
{
|
|
LogEvent entry;
|
|
bool visible;
|
|
|
|
string classes => $"logeventpanel {(visible?"visible":"hidden")}";
|
|
string message => $"[{entry.Logger}] {entry.Message}";
|
|
Panel Output = default;
|
|
|
|
public void Switch( LogEvent e )
|
|
{
|
|
entry = e;
|
|
visible = true;
|
|
StateHasChanged();
|
|
UnselectAllInChildren();
|
|
}
|
|
|
|
void Hide()
|
|
{
|
|
visible = false;
|
|
StateHasChanged();
|
|
}
|
|
|
|
public override void OnButtonEvent(ButtonEvent e)
|
|
{
|
|
if ( e.HasCtrl && e.Button == "a" && e.Pressed )
|
|
{
|
|
Output.SelectAllInChildren();
|
|
}
|
|
}
|
|
}
|