mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-26 19:34:25 +02:00
edit is displayed in the WYSIWYG, but the send button still sends a new message instead of correcting the edit
This commit is contained in:
@@ -222,8 +222,11 @@ extension RoomDataSource {
|
||||
|
||||
return editableTextMessage
|
||||
}
|
||||
|
||||
|
||||
@objc func editableHtmlTextMessage(for event: MXEvent) -> String? {
|
||||
let body: String = event.content["formatted_body"] as? String ?? event.content["body"] as? String ?? ""
|
||||
return body
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Private Helpers
|
||||
|
||||
@@ -4630,7 +4630,11 @@ static CGSize kThreadListBarButtonItemImageSize;
|
||||
{
|
||||
MXEvent *event = [self.roomDataSource eventWithEventId:eventId];
|
||||
|
||||
if ([self inputToolbarConformsToToolbarViewProtocol])
|
||||
if ([self inputToolbarConformsToHtmlToolbarViewProtocol]) {
|
||||
self.textMessageBeforeEditing = self.inputToolbarView.attributedTextMessage;
|
||||
[self.inputToolbarView setHtmlWithContent: [self.customizedRoomDataSource editableHtmlTextMessageFor:event]];
|
||||
}
|
||||
else if ([self inputToolbarConformsToToolbarViewProtocol])
|
||||
{
|
||||
self.textMessageBeforeEditing = self.inputToolbarView.attributedTextMessage;
|
||||
self.inputToolbarView.attributedTextMessage = [self.customizedRoomDataSource editableAttributedTextMessageFor:event];
|
||||
@@ -4650,6 +4654,11 @@ static CGSize kThreadListBarButtonItemImageSize;
|
||||
self.textMessageBeforeEditing = nil;
|
||||
}
|
||||
|
||||
- (BOOL)inputToolbarConformsToHtmlToolbarViewProtocol
|
||||
{
|
||||
return [self.inputToolbarView conformsToProtocol:@protocol(HtmlRoomInputToolbarViewProtocol)];
|
||||
}
|
||||
|
||||
- (BOOL)inputToolbarConformsToToolbarViewProtocol
|
||||
{
|
||||
return [self.inputToolbarView conformsToProtocol:@protocol(RoomInputToolbarViewProtocol)];
|
||||
|
||||
@@ -33,8 +33,16 @@ class SelfSizingHostingController<Content>: UIHostingController<Content> where C
|
||||
}
|
||||
}
|
||||
|
||||
@objc extension MXKRoomInputToolbarView {
|
||||
func setHtml(content: String) {}
|
||||
}
|
||||
|
||||
@objc protocol HtmlRoomInputToolbarViewProtocol: RoomInputToolbarViewProtocol {
|
||||
@objc func setHtml(content: String)
|
||||
}
|
||||
|
||||
@available(iOS 16.0, *)
|
||||
class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, RoomInputToolbarViewProtocol {
|
||||
class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInputToolbarViewProtocol {
|
||||
|
||||
override class func instantiate() -> MXKRoomInputToolbarView! {
|
||||
return loadFromNib()
|
||||
@@ -93,6 +101,10 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, RoomInputTo
|
||||
self.backgroundColor = .clear
|
||||
}
|
||||
|
||||
override func setHtml(content: String) {
|
||||
hostingViewController.rootView.viewModel.setHtmlContent(content)
|
||||
}
|
||||
|
||||
func setVoiceMessageToolbarView(_ voiceMessageToolbarView: UIView!) {
|
||||
//TODO embed the voice messages UI
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user