diff --git a/ios/EnrichedTextInputView.mm b/ios/EnrichedTextInputView.mm index 027b5b93f..443cc29b2 100644 --- a/ios/EnrichedTextInputView.mm +++ b/ios/EnrichedTextInputView.mm @@ -75,7 +75,7 @@ - (void)setDefaults { _recentlyActiveMentionRange = NSMakeRange(0, 0); recentlyChangedRange = NSMakeRange(0, 0); _recentlyEmittedString = @""; - _recentlyEmittedHtml = @""; + _recentlyEmittedHtml = @"\n
\n"; _emitHtml = NO; blockEmitting = NO; _emitFocusBlur = YES; @@ -1052,6 +1052,12 @@ - (void)anyTextMayHaveBeenModified { [h3Style handleImproperHeadings]; } + // mentions removal management + MentionStyle *mentionStyleClass = (MentionStyle *)stylesDict[@([MentionStyle getStyleType])]; + if(mentionStyleClass != nullptr) { + [mentionStyleClass handleExistingMentions]; + } + // placholder management if(!_placeholderLabel.hidden && textView.textStorage.string.length > 0) { [self setPlaceholderLabelShown:NO]; @@ -1060,12 +1066,6 @@ - (void)anyTextMayHaveBeenModified { } if(![textView.textStorage.string isEqualToString:_recentlyEmittedString]) { - // mentions removal management - MentionStyle *mentionStyleClass = (MentionStyle *)stylesDict[@([MentionStyle getStyleType])]; - if(mentionStyleClass != nullptr) { - [mentionStyleClass handleExistingMentions]; - } - // modified words handling NSArray *modifiedWords = [WordsUtils getAffectedWordsFromText:textView.textStorage.string modificationRange:recentlyChangedRange]; if(modifiedWords != nullptr) { @@ -1087,13 +1087,13 @@ - (void)anyTextMayHaveBeenModified { // emit onChangeText event auto emitter = [self getEventEmitter]; if(emitter != nullptr) { + // set the recently emitted string only if the emitter is defined + _recentlyEmittedString = stringToBeEmitted; + emitter->onChangeText({ .value = [stringToBeEmitted toCppString] }); } - - // set the recently emitted string - _recentlyEmittedString = stringToBeEmitted; } // update height on each character change