@using Sandbox @using Sandbox.UI @namespace Sandbox.UI.Dev @inherits Panel @Event.Time.ToString("hh:mm:ss") @Event.Message @code { static ConsoleRow selectedLine; public LogEvent Event; public bool AutoDelete; public RealTimeUntil TimeUntilDelete; public Action OnEntryClicked; public string classes => $"consolerow {(selectedLine==this?"highlight":"")} {Event.Level.ToString()}"; internal void SetLogEvent(LogEvent e) { Event = e; StateHasChanged(); } protected override void OnClick(MousePanelEvent e) { OnEntryClicked?.Invoke(Event); selectedLine = this; } protected override void OnMouseDown(MousePanelEvent e) { base.OnMouseDown(e); e.StopPropagation(); } protected override int BuildHash() => HashCode.Combine( selectedLine ); }