mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 13:51:20 +08:00
Add keyboard listener to URLField
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:apidash/providers/providers.dart';
|
import 'package:apidash/providers/providers.dart';
|
||||||
import 'package:apidash/widgets/widgets.dart';
|
import 'package:apidash/widgets/widgets.dart';
|
||||||
@ -103,18 +104,31 @@ class _URLTextFieldState extends ConsumerState<URLTextField> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final activeId = ref.watch(activeIdStateProvider);
|
final activeId = ref.watch(activeIdStateProvider);
|
||||||
return URLField(
|
return Focus(
|
||||||
activeId: activeId!,
|
autofocus: true,
|
||||||
initialValue: ref
|
child: KeyboardListener(
|
||||||
.read(collectionStateNotifierProvider.notifier)
|
focusNode: FocusNode(),
|
||||||
.getRequestModel(activeId)
|
onKeyEvent: (KeyEvent event) {
|
||||||
?.url,
|
if (event is KeyDownEvent &&
|
||||||
onChanged: (value) {
|
event.logicalKey == LogicalKeyboardKey.enter) {
|
||||||
ref
|
ref
|
||||||
.read(collectionStateNotifierProvider.notifier)
|
.read(collectionStateNotifierProvider.notifier)
|
||||||
.update(activeId, url: value);
|
.sendRequest(activeId);
|
||||||
},
|
}
|
||||||
);
|
},
|
||||||
|
child: URLField(
|
||||||
|
activeId: activeId!,
|
||||||
|
initialValue: ref
|
||||||
|
.read(collectionStateNotifierProvider.notifier)
|
||||||
|
.getRequestModel(activeId)
|
||||||
|
?.url,
|
||||||
|
onChanged: (value) {
|
||||||
|
ref
|
||||||
|
.read(collectionStateNotifierProvider.notifier)
|
||||||
|
.update(activeId, url: value);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user