|
1 | 1 | import 'package:flutter/material.dart';
|
| 2 | +import 'package:flutter/services.dart'; |
2 | 3 | import 'package:flutter_riverpod/flutter_riverpod.dart';
|
3 | 4 | import 'package:apidash/providers/providers.dart';
|
4 | 5 | import 'package:apidash/widgets/widgets.dart';
|
@@ -70,18 +71,31 @@ class URLTextField extends ConsumerWidget {
|
70 | 71 | @override
|
71 | 72 | Widget build(BuildContext context, WidgetRef ref) {
|
72 | 73 | final selectedId = ref.watch(selectedIdStateProvider);
|
73 |
| - return URLField( |
74 |
| - selectedId: selectedId!, |
75 |
| - initialValue: ref |
76 |
| - .read(collectionStateNotifierProvider.notifier) |
77 |
| - .getRequestModel(selectedId) |
78 |
| - ?.url, |
79 |
| - onChanged: (value) { |
80 |
| - ref |
81 |
| - .read(collectionStateNotifierProvider.notifier) |
82 |
| - .update(selectedId, url: value); |
83 |
| - }, |
84 |
| - ); |
| 74 | + return Focus( |
| 75 | + autofocus: true, |
| 76 | + child: KeyboardListener( |
| 77 | + focusNode: FocusNode(), |
| 78 | + onKeyEvent: (KeyEvent event) { |
| 79 | + if (event is KeyDownEvent && |
| 80 | + event.logicalKey == LogicalKeyboardKey.enter) { |
| 81 | + ref |
| 82 | + .read(collectionStateNotifierProvider.notifier) |
| 83 | + .sendRequest(selectedId); |
| 84 | + } |
| 85 | + }, |
| 86 | + child: URLField( |
| 87 | + selectedId: selectedId!, |
| 88 | + initialValue: ref |
| 89 | + .read(collectionStateNotifierProvider.notifier) |
| 90 | + .getRequestModel(selectedId) |
| 91 | + ?.url, |
| 92 | + onChanged: (value) { |
| 93 | + ref |
| 94 | + .read(collectionStateNotifierProvider.notifier) |
| 95 | + .update(selectedId, url: value); |
| 96 | + }, |
| 97 | + ), |
| 98 | + )); |
85 | 99 | }
|
86 | 100 | }
|
87 | 101 |
|
|
0 commit comments