From 9bc1d5018e031d0338c6cfcf2e0fe524ba0a59ec Mon Sep 17 00:00:00 2001 From: Benoit Martins Date: Thu, 30 Mar 2023 13:22:39 +0200 Subject: [PATCH] Fix scrollToItem after QLPreview Add editMode on ChatConversationTableViewSwift --- .../ChatConversationTableViewModel.swift | 7 +++++++ .../Views/ChatConversationTableViewSwift.swift | 16 +++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift b/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift index 96ca37ab9..2b5cc5ace 100644 --- a/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift +++ b/Classes/Swift/Chat/ViewModels/ChatConversationTableViewModel.swift @@ -23,6 +23,9 @@ class ChatConversationTableViewModel: ControlsViewModel { var onClickIndexPath = MutableLiveData(0) var onClickMessageIndexPath = 0 + + var editModeOn = MutableLiveData(false) + override init() { super.init() } @@ -80,4 +83,8 @@ class ChatConversationTableViewModel: ControlsViewModel { onClickMessageIndexPath = indexMessage onClickIndexPath.value! = index } + + func changeEditMode(editMode :Bool){ + editModeOn.value = editMode + } } diff --git a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift b/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift index 250a7f137..81e732c72 100644 --- a/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift +++ b/Classes/Swift/Chat/Views/ChatConversationTableViewSwift.swift @@ -57,6 +57,10 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour self.onGridClick(indexMessage: ChatConversationTableViewModel.sharedModel.onClickMessageIndexPath, index: index!) } + ChatConversationTableViewModel.sharedModel.editModeOn.observe { mode in + self.changeEditMode(editModeOn: mode!) + } + collectionView.isUserInteractionEnabled = true } @@ -206,7 +210,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour if (!cell.imageViewBubble.isHidden || !cell.imageVideoViewBubble.isHidden){ cell.imageViewBubble.onClick { - self.onImageClick(chatMessage: event.chatMessage!) + self.onImageClick(chatMessage: event.chatMessage!, index: indexPath.row) } } } @@ -283,7 +287,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour case VoipTexts.bubble_chat_dropDown_delete: self!.deleteMessage(message: event.chatMessage!) default: - print("Error ChatConversationTableViewSwift TapChooseMenuItemMessage Default") + print("Error Default") } self!.menu!.clearSelection() } @@ -435,14 +439,13 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour } func previewControllerDidDismiss(_ controller: QLPreviewController) { - print("ChatConversationTableViewSwift controller \(afterPreviewIndex)") if afterPreviewIndex > -1 { collectionView.scrollToItem(at: IndexPath(row: afterPreviewIndex, section: 0), at: .centeredVertically, animated: false) } } - func onImageClick(chatMessage: ChatMessage) { + func onImageClick(chatMessage: ChatMessage, index: Int) { let state = chatMessage.state if (state.rawValue == LinphoneChatMessageStateNotDelivered.rawValue) { @@ -458,7 +461,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour self.previewItems = [] self.previewItems.append(self.getPreviewItem(filePath: (chatMessage.contents.first?.filePath)!)) - afterPreviewIndex = 0 + afterPreviewIndex = index previewController.currentPreviewItemIndex = 0 previewController.dataSource = self @@ -497,4 +500,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour } } + func changeEditMode(editModeOn: Bool){ + + } }