add debounce to mentions overlay
This commit is contained in:
@@ -380,11 +380,19 @@ class MessageInputState extends State<MessageInput> {
|
|||||||
Future<List<Member>> queryMembers;
|
Future<List<Member>> queryMembers;
|
||||||
|
|
||||||
if (query.isNotEmpty) {
|
if (query.isNotEmpty) {
|
||||||
queryMembers = StreamChannel.of(context).channel.queryMembers(filter: {
|
queryMembers = StreamChannel.of(context).channel.queryMembers(
|
||||||
'name': {
|
filter: {
|
||||||
'\$autocomplete': query,
|
'name': {
|
||||||
|
'\$autocomplete': query,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}).then((res) => res.members);
|
sort: [
|
||||||
|
SortOption(
|
||||||
|
'name',
|
||||||
|
direction: SortOption.ASC,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
).then((res) => res.members);
|
||||||
}
|
}
|
||||||
|
|
||||||
final members = StreamChannel.of(context).channel.state.members?.where((m) {
|
final members = StreamChannel.of(context).channel.state.members?.where((m) {
|
||||||
@@ -952,6 +960,7 @@ class MessageInputState extends State<MessageInput> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Timer _debounce;
|
||||||
void _onChange() {
|
void _onChange() {
|
||||||
final s = textEditingController.text;
|
final s = textEditingController.text;
|
||||||
StreamChannel.of(context).channel.keyStroke(
|
StreamChannel.of(context).channel.keyStroke(
|
||||||
@@ -980,8 +989,14 @@ class MessageInputState extends State<MessageInput> {
|
|||||||
.split(' ')
|
.split(' ')
|
||||||
.last
|
.last
|
||||||
.contains('@')) {
|
.contains('@')) {
|
||||||
_mentionsOverlay = _buildMentionsOverlayEntry();
|
if (_debounce?.isActive == true) _debounce.cancel();
|
||||||
Overlay.of(context).insert(_mentionsOverlay);
|
_debounce = Timer(
|
||||||
|
const Duration(milliseconds: 350),
|
||||||
|
() {
|
||||||
|
_mentionsOverlay = _buildMentionsOverlayEntry();
|
||||||
|
Overlay.of(context).insert(_mentionsOverlay);
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user