RTE Update (#2446)

This commit is contained in:
Mauro
2024-02-09 17:00:32 +01:00
committed by GitHub
parent d7a190ba23
commit 6a7ad6ccac
5 changed files with 11 additions and 18 deletions
@@ -26,7 +26,6 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
private let wysiwygViewModel: WysiwygComposerViewModel
private let completionSuggestionService: CompletionSuggestionServiceProtocol
private let appSettings: AppSettings
private let mentionDisplayHelper: MentionDisplayHelper
private var hasAppeard = false
private let actionsSubject: PassthroughSubject<ComposerToolbarViewModelAction, Never> = .init()
@@ -47,7 +46,6 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
self.wysiwygViewModel = wysiwygViewModel
self.completionSuggestionService = completionSuggestionService
self.appSettings = appSettings
self.mentionDisplayHelper = mentionDisplayHelper
super.init(initialViewState: ComposerToolbarViewState(audioPlayerState: .init(id: .recorderPreview, duration: 0),
audioRecorderState: .init(),
@@ -102,7 +100,8 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
}
.weakAssign(to: \.state.suggestions, on: self)
.store(in: &cancellables)
setupMentionsHandling(mentionDisplayHelper: mentionDisplayHelper)
focusComposerIfHardwareKeyboardConnected()
}
@@ -111,7 +110,6 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
override func process(viewAction: ComposerToolbarViewAction) {
switch viewAction {
case .composerAppeared:
setupMentionsHandlingIfNecessary()
if !hasAppeard {
hasAppeard = true
wysiwygViewModel.setup()
@@ -205,12 +203,8 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
}
}
private func setupMentionsHandlingIfNecessary() {
guard let textView = wysiwygViewModel.textView,
textView.mentionDisplayHelper == nil else {
return
}
textView.mentionDisplayHelper = mentionDisplayHelper
private func setupMentionsHandling(mentionDisplayHelper: MentionDisplayHelper) {
wysiwygViewModel.mentionDisplayHelper = mentionDisplayHelper
let attributedStringBuilder = AttributedStringBuilder(cacheKey: "Composer", permalinkBaseURL: appSettings.permalinkBaseURL, mentionBuilder: MentionBuilder())
@@ -261,7 +255,7 @@ final class ComposerToolbarViewModel: ComposerToolbarViewModelType, ComposerTool
}
private func set(text: String) {
wysiwygViewModel.textView?.flushPills()
wysiwygViewModel.textView.flushPills()
if appSettings.richTextEditorEnabled {
wysiwygViewModel.setHtmlContent(text)