@@ -189,29 +189,33 @@ class SearchbarComponent(engine: SearchbarEngine, inkuireEngine: InkuireJSSearch
189
189
private val rootShowClasses = " "
190
190
191
191
private val rootDiv : html.Div =
192
- val rootParent = document.createElement(" div" ).asInstanceOf [html.Div ]
193
- val element = document.createElement(" div" ).asInstanceOf [html.Div ]
194
- element.addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
192
+ val element = div(id := " scaladoc-searchbar" )(
193
+ inputElem,
194
+ resultsDiv
195
+ ).tap { elem =>
196
+ elem.addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
197
+ elem.addEventListener(" keydown" , {
198
+ case e : KeyboardEvent =>
199
+ if e.keyCode == 40 then handleArrowDown()
200
+ else if e.keyCode == 38 then handleArrowUp()
201
+ else if e.keyCode == 13 then handleEnter()
202
+ else if e.keyCode == 27 then handleEscape()
203
+ })
204
+ }
205
+
206
+ val rootParent = div(id := " searchbar-container" )(
207
+ element
208
+ ).tap { rootElem =>
209
+ rootElem.addEventListener(" mousedown" , (e : Event ) => handleEscape())
210
+ }
211
+
195
212
searchIcon.addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
196
213
document.body.addEventListener(" mousedown" , (e : Event ) =>
197
214
if (document.body.contains(element)) {
198
215
handleEscape()
199
216
}
200
217
)
201
- element.addEventListener(" keydown" , {
202
- case e : KeyboardEvent =>
203
- if e.keyCode == 40 then handleArrowDown()
204
- else if e.keyCode == 38 then handleArrowUp()
205
- else if e.keyCode == 13 then handleEnter()
206
- else if e.keyCode == 27 then handleEscape()
207
- })
208
- element.id = " scaladoc-searchbar"
209
- element.appendChild(inputElem)
210
- element.appendChild(resultsDiv)
211
- // element
212
- rootParent.id = " searchbar-container"
213
- rootParent.appendChild(element)
214
- rootParent.addEventListener(" mousedown" , (e : Event ) => handleEscape())
218
+
215
219
rootParent
216
220
217
221
private def handleArrowUp () = {
0 commit comments