88 type AutocompleteAction ,
99 AutocompleteActionKind ,
1010 type AutocompleteHandler ,
11- type FromTo ,
1211 closeAutocomplete ,
12+ getAutocompleteState ,
1313} from '../../../behavior/Autocomplete' ;
1414import { EmojiConsts } from '../EmojiSpecs' ;
1515
@@ -30,7 +30,6 @@ export class EmojiHandler implements AutocompleteHandler {
3030
3131 private _view ?: EditorView ;
3232 private _anchor : Element | null = null ;
33- private _range ?: FromTo ;
3433 private _popupCloser ?: AutocompletePopupCloser ;
3534
3635 private _suggestProps ?: EmojiSuggestComponentProps ;
@@ -133,12 +132,16 @@ export class EmojiHandler implements AutocompleteHandler {
133132 }
134133
135134 private select ( ) {
136- const { _view : view , _range : range } = this ;
137- if ( ! view || ! range ) return ;
135+ const { _view : view } = this ;
136+ if ( ! view ) return ;
138137
139138 const emojiDef = this . _emojiCarousel ?. currentItem ;
140139 if ( ! emojiDef ) return ;
141140
141+ const autocompleteState = getAutocompleteState ( view . state ) ;
142+ if ( ! autocompleteState || ! autocompleteState . active ) return ;
143+
144+ const { range} = autocompleteState ;
142145 const { tr, schema} = view . state ;
143146 view . dispatch (
144147 tr . replaceWith ( range . from , range . to , createEmoji ( schema , emojiDef ) ) . scrollIntoView ( ) ,
@@ -191,14 +194,12 @@ export class EmojiHandler implements AutocompleteHandler {
191194 this . _view ?. focus ( ) ;
192195 } ;
193196
194- private updateState ( { view, range } : AutocompleteAction ) {
197+ private updateState ( { view} : AutocompleteAction ) {
195198 this . _view = view ;
196- this . _range = range ;
197199 }
198200
199201 private clear ( ) {
200202 this . _view = undefined ;
201- this . _range = undefined ;
202203 this . _anchor = null ;
203204 this . _emojiCarousel = undefined ;
204205 this . _popupCloser ?. cancelTimer ( ) ;
0 commit comments