migrate ui
This commit is contained in:
@@ -912,7 +912,10 @@ class Channel {
|
||||
|
||||
void _initState(ChannelState channelState) {
|
||||
state = ChannelClientState(this, channelState);
|
||||
client.state.channels[cid!] = this;
|
||||
|
||||
if (cid != null) {
|
||||
client.state.channels[cid!] = this;
|
||||
}
|
||||
if (!_initializedCompleter.isCompleted) {
|
||||
_initializedCompleter.complete(true);
|
||||
}
|
||||
|
||||
@@ -798,11 +798,13 @@ class StreamChatClient {
|
||||
for (final channelState in channelStates) {
|
||||
final channel = channels[channelState.channel!.cid];
|
||||
if (channel != null) {
|
||||
channel.state!.updateChannelState(channelState);
|
||||
channel.state?.updateChannelState(channelState);
|
||||
newChannels.add(channel);
|
||||
} else {
|
||||
final newChannel = Channel.fromState(this, channelState);
|
||||
channels[newChannel.cid!] = newChannel;
|
||||
if (newChannel.cid != null) {
|
||||
channels[newChannel.cid!] = newChannel;
|
||||
}
|
||||
newChannels.add(newChannel);
|
||||
}
|
||||
}
|
||||
@@ -1513,7 +1515,7 @@ class ClientState {
|
||||
/// The current list of channels in memory
|
||||
Map<String, Channel> get channels => _channelsController.value!;
|
||||
|
||||
set channels(Map<String, Channel>? v) {
|
||||
set channels(Map<String, Channel> v) {
|
||||
if (v != null) _channelsController.add(v);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ class Attachment extends Equatable {
|
||||
this.authorIcon,
|
||||
this.assetUrl,
|
||||
List<Action>? actions,
|
||||
this.extraData,
|
||||
this.extraData = const {},
|
||||
this.file,
|
||||
UploadState? uploadState,
|
||||
}) : id = id ?? const Uuid().v4(),
|
||||
@@ -110,8 +110,11 @@ class Attachment extends Equatable {
|
||||
late final UploadState uploadState;
|
||||
|
||||
/// Map of custom channel extraData
|
||||
@JsonKey(includeIfNull: false)
|
||||
final Map<String, Object>? extraData;
|
||||
@JsonKey(
|
||||
includeIfNull: false,
|
||||
defaultValue: {},
|
||||
)
|
||||
final Map<String, Object> extraData;
|
||||
|
||||
/// The attachment ID.
|
||||
///
|
||||
|
||||
@@ -31,8 +31,9 @@ Attachment _$AttachmentFromJson(Map<String, dynamic> json) {
|
||||
.toList() ??
|
||||
[],
|
||||
extraData: (json['extra_data'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
),
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
) ??
|
||||
{},
|
||||
file: json['file'] == null
|
||||
? null
|
||||
: AttachmentFile.fromJson(json['file'] as Map<String, dynamic>),
|
||||
@@ -71,7 +72,7 @@ Map<String, dynamic> _$AttachmentToJson(Attachment instance) {
|
||||
val['actions'] = instance.actions.map((e) => e.toJson()).toList();
|
||||
writeNotNull('file', instance.file?.toJson());
|
||||
val['upload_state'] = instance.uploadState.toJson();
|
||||
writeNotNull('extra_data', instance.extraData);
|
||||
val['extra_data'] = instance.extraData;
|
||||
val['id'] = instance.id;
|
||||
return val;
|
||||
}
|
||||
|
||||
@@ -59,10 +59,10 @@ String? _toString(Uint8List? bytes) {
|
||||
class AttachmentFile {
|
||||
/// Creates a new [AttachmentFile] instance.
|
||||
const AttachmentFile({
|
||||
required this.size,
|
||||
this.path,
|
||||
this.name,
|
||||
this.bytes,
|
||||
this.size,
|
||||
}) : assert(
|
||||
path != null || bytes != null,
|
||||
'Either path or bytes should be != null',
|
||||
|
||||
@@ -21,7 +21,7 @@ class ChannelModel {
|
||||
DateTime? updatedAt,
|
||||
this.deletedAt,
|
||||
this.memberCount = 0,
|
||||
this.extraData,
|
||||
this.extraData = const {},
|
||||
this.team,
|
||||
}) : assert(
|
||||
(cid != null && cid.contains(':')) || (id != null && type != null),
|
||||
@@ -83,8 +83,11 @@ class ChannelModel {
|
||||
final int memberCount;
|
||||
|
||||
/// Map of custom channel extraData
|
||||
@JsonKey(includeIfNull: false)
|
||||
final Map<String, Object>? extraData;
|
||||
@JsonKey(
|
||||
includeIfNull: false,
|
||||
defaultValue: {},
|
||||
)
|
||||
final Map<String, Object> extraData;
|
||||
|
||||
/// The team the channel belongs to
|
||||
@JsonKey(includeIfNull: false, toJson: Serialization.readOnly)
|
||||
@@ -108,9 +111,8 @@ class ChannelModel {
|
||||
];
|
||||
|
||||
/// Shortcut for channel name
|
||||
String get name => extraData?.containsKey('name') == true
|
||||
? extraData!['name'] as String
|
||||
: cid;
|
||||
String get name =>
|
||||
extraData.containsKey('name') ? extraData['name'] as String : cid;
|
||||
|
||||
/// Serialize to json
|
||||
Map<String, dynamic> toJson() => Serialization.moveFromExtraDataToRoot(
|
||||
|
||||
@@ -32,8 +32,9 @@ ChannelModel _$ChannelModelFromJson(Map<String, dynamic> json) {
|
||||
: DateTime.parse(json['deleted_at'] as String),
|
||||
memberCount: json['member_count'] as int? ?? 0,
|
||||
extraData: (json['extra_data'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
),
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
) ??
|
||||
{},
|
||||
team: json['team'] as String?,
|
||||
);
|
||||
}
|
||||
@@ -59,7 +60,7 @@ Map<String, dynamic> _$ChannelModelToJson(ChannelModel instance) {
|
||||
writeNotNull('updated_at', readonly(instance.updatedAt));
|
||||
writeNotNull('deleted_at', readonly(instance.deletedAt));
|
||||
writeNotNull('member_count', readonly(instance.memberCount));
|
||||
writeNotNull('extra_data', instance.extraData);
|
||||
val['extra_data'] = instance.extraData;
|
||||
writeNotNull('team', readonly(instance.team));
|
||||
return val;
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ class EventChannel extends ChannelModel {
|
||||
updatedAt: updatedAt,
|
||||
deletedAt: deletedAt,
|
||||
memberCount: memberCount,
|
||||
extraData: extraData,
|
||||
extraData: extraData ?? {},
|
||||
);
|
||||
|
||||
/// Create a new instance from a json
|
||||
|
||||
@@ -90,8 +90,9 @@ EventChannel _$EventChannelFromJson(Map<String, dynamic> json) {
|
||||
: DateTime.parse(json['deleted_at'] as String),
|
||||
memberCount: json['member_count'] as int? ?? 0,
|
||||
extraData: (json['extra_data'] as Map<String, dynamic>?)?.map(
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
),
|
||||
(k, e) => MapEntry(k, e as Object),
|
||||
) ??
|
||||
{},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -116,7 +117,7 @@ Map<String, dynamic> _$EventChannelToJson(EventChannel instance) {
|
||||
writeNotNull('updated_at', readonly(instance.updatedAt));
|
||||
writeNotNull('deleted_at', readonly(instance.deletedAt));
|
||||
writeNotNull('member_count', readonly(instance.memberCount));
|
||||
writeNotNull('extra_data', instance.extraData);
|
||||
val['extra_data'] = instance.extraData;
|
||||
val['members'] = instance.members?.map((e) => e.toJson()).toList();
|
||||
return val;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user