| 123456789101112131415161718192021222324252627282930313233 |
- using Microsoft.AspNetCore.Components.Web;
- using Microsoft.JSInterop;
- 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<bool> OnKeyDownHandlerAsync(KeyboardEventArgs e) {
- var reference = DotNetObjectReference.Create(this);
- if (e.Key.Equals("Enter") || e.Key.Equals("ArrowRight")) {
- await jsRuntime.InvokeVoidAsync("MoveCursorToNextInput", reference, e.Key);
- return true;
- } else if (e.Key.Equals("ArrowLeft")) {
- await jsRuntime.InvokeVoidAsync("MoveCursorToPreviousInput", reference);
- return true;
- }
- return false;
- }
-
- public async Task OnConstrainedFieldKeyDownHandlerAsync(KeyboardEventArgs e) {
- if (!await OnKeyDownHandlerAsync(e)) {
- var reference = DotNetObjectReference.Create(this);
- await jsRuntime.InvokeVoidAsync("CheckConstrainedInput", reference, e.Key);
- }
- }
- }
- }
|