This commit is contained in:
Salvatore Giordano
2020-03-02 15:59:16 +01:00
parent 08d5b21e4e
commit a0a81c90f9
29 changed files with 381 additions and 10 deletions
+9 -2
View File
@@ -4,6 +4,9 @@ import 'package:flutter/material.dart';
import 'package:rxdart/rxdart.dart';
import 'package:stream_chat/stream_chat.dart';
/// Widget used to provide information about the channel to the widget tree
///
/// Use [StreamChannel.of] to get the current [StreamChannelState] instance.
class StreamChannel extends StatefulWidget {
StreamChannel({
Key key,
@@ -16,6 +19,7 @@ class StreamChannel extends StatefulWidget {
final Widget child;
final Channel channel;
/// Use this method to get the current [StreamChannelState] instance
static StreamChannelState of(BuildContext context) {
StreamChannelState streamChannelState;
@@ -34,17 +38,19 @@ class StreamChannel extends StatefulWidget {
}
class StreamChannelState extends State<StreamChannel> {
StreamChannelState();
/// Current channel
Channel get channel => widget.channel;
/// Current channel state stream
Stream<ChannelState> get channelStateStream =>
widget.channel.state.channelStateStream;
final BehaviorSubject<bool> _queryMessageController = BehaviorSubject();
/// The stream notifying the state of queryMessage call
Stream<bool> get queryMessage => _queryMessageController.stream;
/// Calls [channel.query] updating [queryMessage] stream
void queryMessages() {
_queryMessageController.add(true);
@@ -67,6 +73,7 @@ class StreamChannelState extends State<StreamChannel> {
});
}
/// Calls [channel.getReplies] updating [queryMessage] stream
Future<void> getReplies(String parentId) async {
_queryMessageController.add(true);
print('PARENT $parentId');