@@ -17,6 +17,9 @@ import java.net.URI
1717class SearchbarComponent (engine : PageSearchEngine , inkuireEngine : InkuireJSSearchEngine , parser : QueryParser ):
1818 val initialChunkSize = 5
1919 val resultsChunkSize = 20
20+
21+ val querySearch = Option (URLSearchParams (window.location.search).get(" search" )).filter(_.nonEmpty)
22+
2023 def pathToRoot () = window.document.documentElement.getAttribute(" data-pathToRoot" )
2124 extension (p : PageEntry )
2225 def toHTML (boldChars : Set [Int ]) =
@@ -262,7 +265,8 @@ class SearchbarComponent(engine: PageSearchEngine, inkuireEngine: InkuireJSSearc
262265 document.body.addEventListener(" keydown" , (e : KeyboardEvent ) => handleGlobalKeyDown(e))
263266
264267 private val inputElem : html.Input =
265- input(cls := " scaladoc-searchbar-input" , `type` := " search" , `placeholder`:= " Find anything" ).tap { element =>
268+ val initialValue = querySearch.getOrElse(" " )
269+ input(cls := " scaladoc-searchbar-input" , `type` := " search" , `placeholder`:= " Find anything" , value := initialValue).tap { element =>
266270 element.addEventListener(" input" , { e =>
267271 clearTimeout(timeoutHandle)
268272 val inputValue = e.target.asInstanceOf [html.Input ].value
@@ -453,3 +457,7 @@ class SearchbarComponent(engine: PageSearchEngine, inkuireEngine: InkuireJSSearc
453457 }
454458
455459 inputElem.dispatchEvent(new Event (" input" ))
460+ if (querySearch.isDefined && ! document.body.contains(rootDiv)) {
461+ document.body.appendChild(rootDiv)
462+ inputElem.focus()
463+ }
0 commit comments