@@ -138,7 +138,12 @@ class TributeRange {
138
138
let textSuffix = typeof this . tribute . replaceTextSuffix == 'string'
139
139
? this . tribute . replaceTextSuffix
140
140
: '\xA0'
141
- text += textSuffix
141
+ if ( text instanceof HTMLElement ) {
142
+ // skip adding suffix yet - TODO later
143
+ // text.appendChild(this.getDocument().createTextNode(textSuffix))
144
+ } else {
145
+ text += textSuffix
146
+ }
142
147
let endPos = info . mentionPosition + info . mentionText . length
143
148
if ( ! this . tribute . autocompleteMode ) {
144
149
endPos += info . mentionTriggerChar . length
@@ -151,7 +156,7 @@ class TributeRange {
151
156
}
152
157
}
153
158
154
- pasteHtml ( html , startPos , endPos ) {
159
+ pasteHtml ( htmlOrElem , startPos , endPos ) {
155
160
let range , sel
156
161
sel = this . getWindowSelection ( )
157
162
range = this . getDocument ( ) . createRange ( )
@@ -160,7 +165,11 @@ class TributeRange {
160
165
range . deleteContents ( )
161
166
162
167
let el = this . getDocument ( ) . createElement ( 'div' )
163
- el . innerHTML = html
168
+ if ( htmlOrElem instanceof HTMLElement ) {
169
+ el . appendChild ( htmlOrElem )
170
+ } else {
171
+ el . innerHTML = htmlOrElem
172
+ }
164
173
let frag = this . getDocument ( ) . createDocumentFragment ( ) ,
165
174
node , lastNode
166
175
while ( ( node = el . firstChild ) ) {
@@ -487,7 +496,7 @@ class TributeRange {
487
496
div . appendChild ( span0 )
488
497
489
498
if ( element . nodeName === 'INPUT' ) {
490
- div . textContent = div . textContent . replace ( / \s / g, ' ' )
499
+ div . textContent = div . textContent . replace ( / \s / g, ' ' )
491
500
}
492
501
493
502
//Create a span in the div that represents where the cursor
0 commit comments