PWA Fundvelo der Caritas.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

InputCursorHandler.cs 1.2KB

123456789101112131415161718192021222324252627282930313233
  1. using Microsoft.AspNetCore.Components.Web;
  2. using Microsoft.JSInterop;
  3. using System.Threading.Tasks;
  4. namespace cwebplusApp.Shared.Services {
  5. public class InputCursorHandler {
  6. private readonly IJSRuntime jsRuntime;
  7. public InputCursorHandler(IJSRuntime _jsRuntime) {
  8. this.jsRuntime = _jsRuntime;
  9. }
  10. public async Task<bool> OnKeyDownHandlerAsync(KeyboardEventArgs e) {
  11. var reference = DotNetObjectReference.Create(this);
  12. if (e.Key.Equals("Enter") || e.Key.Equals("ArrowRight")) {
  13. await jsRuntime.InvokeVoidAsync("MoveCursorToNextInput", reference, e.Key);
  14. return true;
  15. } else if (e.Key.Equals("ArrowLeft")) {
  16. await jsRuntime.InvokeVoidAsync("MoveCursorToPreviousInput", reference);
  17. return true;
  18. }
  19. return false;
  20. }
  21. public async Task OnConstrainedFieldKeyDownHandlerAsync(KeyboardEventArgs e) {
  22. if (!await OnKeyDownHandlerAsync(e)) {
  23. var reference = DotNetObjectReference.Create(this);
  24. await jsRuntime.InvokeVoidAsync("CheckConstrainedInput", reference, e.Key);
  25. }
  26. }
  27. }
  28. }