11//
2- // Copyright © 2021 Stream.io Inc. All rights reserved.
2+ // Copyright © 2022 Stream.io Inc. All rights reserved.
33//
44
55import Combine
@@ -8,7 +8,7 @@ import StreamChat
88import SwiftUI
99
1010/// View model for the `ChatChannelView`.
11- public class ChatChannelViewModel : ObservableObject , MessagesDataSource {
11+ open class ChatChannelViewModel : ObservableObject , MessagesDataSource {
1212
1313 @Injected ( \. chatClient) private var chatClient
1414 @Injected ( \. utils) private var utils
@@ -42,15 +42,15 @@ public class ChatChannelViewModel: ObservableObject, MessagesDataSource {
4242 @Atomic private var loadingPreviousMessages : Bool = false
4343 @Atomic private var lastMessageRead : String ?
4444
45- var channelController : ChatChannelController
46- var messageController : ChatMessageController ?
45+ public var channelController : ChatChannelController
46+ public var messageController : ChatMessageController ?
4747
48- @Published var scrolledId : String ?
49- @Published var listId = UUID ( ) . uuidString
48+ @Published public var scrolledId : String ?
49+ @Published public var listId = UUID ( ) . uuidString
5050
51- @Published var showScrollToLatestButton = false
52- @Published var currentDateString : String ?
53- @Published var messages = LazyCachedMapCollection < ChatMessage > ( ) {
51+ @Published public var showScrollToLatestButton = false
52+ @Published public var currentDateString : String ?
53+ @Published public var messages = LazyCachedMapCollection < ChatMessage > ( ) {
5454 didSet {
5555 var temp = [ String: [ String] ] ( )
5656 for (index, message) in messages. enumerated ( ) {
@@ -76,24 +76,24 @@ public class ChatChannelViewModel: ObservableObject, MessagesDataSource {
7676 }
7777 }
7878
79- @Published var messagesGroupingInfo = [ String: [ String] ] ( )
80- @Published var currentSnapshot : UIImage ? {
79+ @Published public var messagesGroupingInfo = [ String: [ String] ] ( )
80+ @Published public var currentSnapshot : UIImage ? {
8181 didSet {
8282 withAnimation {
8383 reactionsShown = currentSnapshot != nil
8484 }
8585 }
8686 }
8787
88- @Published var reactionsShown = false
89- @Published var quotedMessage : ChatMessage ?
90- @Published var editedMessage : ChatMessage ?
88+ @Published public var reactionsShown = false
89+ @Published public var quotedMessage : ChatMessage ?
90+ @Published public var editedMessage : ChatMessage ?
9191
92- var channel : ChatChannel {
92+ public var channel : ChatChannel {
9393 channelController. channel!
9494 }
9595
96- var isMessageThread : Bool {
96+ public var isMessageThread : Bool {
9797 messageController != nil
9898 }
9999
@@ -129,13 +129,13 @@ public class ChatChannelViewModel: ObservableObject, MessagesDataSource {
129129 Nuke . ImageCache. shared. removeAll ( )
130130 }
131131
132- func scrollToLastMessage( ) {
132+ public func scrollToLastMessage( ) {
133133 if scrolledId != messages. first? . messageId {
134134 scrolledId = messages. first? . messageId
135135 }
136136 }
137137
138- func handleMessageAppear( index: Int ) {
138+ public func handleMessageAppear( index: Int ) {
139139 let message = messages [ index]
140140 checkForNewMessages ( index: index)
141141 save ( lastDate: message. createdAt)
@@ -179,7 +179,7 @@ public class ChatChannelViewModel: ObservableObject, MessagesDataSource {
179179 messages = channelController. messages
180180 }
181181
182- func showReactionOverlay( ) {
182+ public func showReactionOverlay( ) {
183183 guard let view: UIView = topVC ( ) ? . view else {
184184 currentSnapshot = UIImage ( systemName: " photo " )
185185 return
@@ -190,20 +190,20 @@ public class ChatChannelViewModel: ObservableObject, MessagesDataSource {
190190 UIGraphicsEndImageContext ( )
191191 }
192192
193- func messageActionExecuted( _ messageActionInfo: MessageActionInfo ) {
193+ public func messageActionExecuted( _ messageActionInfo: MessageActionInfo ) {
194194 utils. messageActionsResolver. resolveMessageAction (
195195 info: messageActionInfo,
196196 viewModel: self
197197 )
198198 }
199199
200- func onViewAppear( ) {
200+ public func onViewAppear( ) {
201201 reactionsShown = false
202202 isActive = true
203203 messages = channelDataSource. messages
204204 }
205205
206- func onViewDissappear( ) {
206+ public func onViewDissappear( ) {
207207 isActive = false
208208 }
209209
0 commit comments