@@ -101,33 +101,29 @@ export class EnhancerRegistry {
101101
102102export class TextareaRegistry {
103103 private textareas = new Map < HTMLTextAreaElement , EnhancedTextarea > ( )
104- private onEnhanced ?: ( textareaInfo : EnhancedTextarea ) => void
105- private onDestroyed ?: ( textareaInfo : EnhancedTextarea ) => void
104+ private sendEvent : ( event : CommentEvent ) => void = ( ) => { }
106105
107106 setCommentEventSender ( sendEvent : ( event : CommentEvent ) => void ) : void {
108- this . onEnhanced = ( textareaInfo ) =>
109- sendEvent ( {
110- draft : textareaInfo . textarea . value ,
111- spot : textareaInfo . spot ,
112- type : 'ENHANCED' ,
113- } )
114- this . onDestroyed = ( textareaInfo ) =>
115- sendEvent ( {
116- draft : textareaInfo . textarea . value ,
117- spot : textareaInfo . spot ,
118- type : 'DESTROYED' ,
119- } )
107+ this . sendEvent = sendEvent
120108 }
121109
122110 register < T extends CommentSpot > ( textareaInfo : EnhancedTextarea < T > ) : void {
123111 this . textareas . set ( textareaInfo . textarea , textareaInfo )
124- this . onEnhanced ?.( textareaInfo )
112+ this . sendEvent ( {
113+ draft : textareaInfo . textarea . value ,
114+ spot : textareaInfo . spot ,
115+ type : 'ENHANCED' ,
116+ } )
125117 }
126118
127119 unregisterDueToModification ( textarea : HTMLTextAreaElement ) : void {
128120 const textareaInfo = this . textareas . get ( textarea )
129121 if ( textareaInfo ) {
130- this . onDestroyed ?.( textareaInfo )
122+ this . sendEvent ( {
123+ draft : textareaInfo . textarea . value ,
124+ spot : textareaInfo . spot ,
125+ type : 'DESTROYED' ,
126+ } )
131127 this . textareas . delete ( textarea )
132128 }
133129 }
0 commit comments