@using Services.Website @inject IKeyService KeyService @inject IDataCollectionService DataCollectionService @inject IJSRuntime JsRuntime
@ChildContent
@code { [Parameter] public RenderFragment ChildContent { get; set; } = default!; private void HandleKeyDown(KeyboardEventArgs e) { DataCollectionService.SendEvent( DataCollectionKeys.BuildCalcInput, new Dictionary {{"key", e.Key.ToLower()}, {"input-source", "keyboard"}} ); KeyService.AddPressedKey(e.Key); } private void HandleKeyUp(KeyboardEventArgs e) { KeyService.RemovePressedKey(e.Key); } protected override bool ShouldRender() { #if DEBUG JsRuntime.InvokeVoidAsync("console.time", "InputPanelComponent"); #endif return true; } protected override void OnAfterRender(bool firstRender) { #if DEBUG JsRuntime.InvokeVoidAsync("console.timeEnd", "InputPanelComponent"); #endif } }