using Microsoft.AspNetCore.Components.Web; using Microsoft.JSInterop; using System; using System.Threading.Tasks; namespace cwebplusApp.Shared.Services { public class InputCursorHandler { private readonly IJSRuntime jsRuntime; public InputCursorHandler(IJSRuntime _jsRuntime) { this.jsRuntime = _jsRuntime; } public async Task OnKeyPressHandlerAsync(KeyboardEventArgs e) { Console.WriteLine("Key pressed: " + e.Key); var reference = DotNetObjectReference.Create(this); if (e.Key.Equals("Enter") || e.Key.Equals("ArrowRight")) { await jsRuntime.InvokeVoidAsync("MoveCursorToNextInput", reference, e.Key); //await MoveInputCursor(true); } else if (e.Key.Equals("ArrowLeft")) { await jsRuntime.InvokeVoidAsync("MoveCursorToPreviousInput", reference); //await MoveInputCursor(false); } } //public async Task MoveInputCursor(bool forward) { // var reference = DotNetObjectReference.Create(this); // if (forward) { // await jsRuntime.InvokeVoidAsync("MoveCursorToNextInput", reference); // } else { // await jsRuntime.InvokeVoidAsync("MoveCursorToPreviousInput", reference); // } //} } }