From 7237a5777dc185cc625b8c15024428e2a8d966a1 Mon Sep 17 00:00:00 2001 From: Paul Von Schrottky Date: Thu, 6 Aug 2020 17:06:49 -0400 Subject: [PATCH] Allow @ char in posts in mobile editor This fixes a bug with the @-mention feature that made entering the standalone @ character difficult because of the @-mention UI getting in the way. The fix here is to allow the @ character to be intercepted without being consumed by the @ key event logic. --- packages/react-native-aztec/CHANGELOG.md | 4 +++- .../ios/RNTAztecView/RCTAztecView.swift | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/react-native-aztec/CHANGELOG.md b/packages/react-native-aztec/CHANGELOG.md index 9c00b88c00619..3e2b04e59353d 100644 --- a/packages/react-native-aztec/CHANGELOG.md +++ b/packages/react-native-aztec/CHANGELOG.md @@ -1,3 +1,5 @@ -## Unreleased \ No newline at end of file +## Unreleased + +* Fixed a bug in the @-mentions feature where dismissing the @-mentions UI removed the @ character from the post. diff --git a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift index 1d1833fe830df..1ca29d4987efc 100644 --- a/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift +++ b/packages/react-native-aztec/ios/RNTAztecView/RCTAztecView.swift @@ -306,10 +306,12 @@ class RCTAztecView: Aztec.TextView { // MARK: - Edits open override func insertText(_ text: String) { - guard !interceptEnter(text), !interceptTriggersKeyCodes(text) else { + guard !interceptEnter(text) else { return } + interceptTriggersKeyCodes(text) + super.insertText(text) updatePlaceholderVisibility() } @@ -374,13 +376,13 @@ class RCTAztecView: Aztec.TextView { return true } - private func interceptTriggersKeyCodes(_ text: String) -> Bool { + private func interceptTriggersKeyCodes(_ text: String) { guard let keyCodes = triggerKeyCodes, keyCodes.count > 0, let onKeyDown = onKeyDown, text.count == 1 else { - return false + return } for value in keyCodes { guard let keyString = value as? String, @@ -393,9 +395,8 @@ class RCTAztecView: Aztec.TextView { var eventData = [AnyHashable:Any]() eventData = add(keyCode: keyCode, to: eventData) onKeyDown(eventData) - return true + return } - return false; } private func isNewLineBeforeSelectionAndNotEndOfContent() -> Bool {