@@ -4,6 +4,7 @@ import org.scalajs.dom._
44import org .scalajs .dom .html .Input
55
66class SearchbarComponent (val callback : (String ) => List [PageEntry ]):
7+ val resultsChunkSize = 100
78 extension (p : PageEntry )
89 def toHTML =
910 val wrapper = document.createElement(" div" ).asInstanceOf [html.Div ]
@@ -28,22 +29,22 @@ class SearchbarComponent(val callback: (String) => List[PageEntry]):
2829 resultsDiv.scrollTop = 0
2930 while (resultsDiv.hasChildNodes()) resultsDiv.removeChild(resultsDiv.lastChild)
3031 val fragment = document.createDocumentFragment()
31- result.take(100 ).foreach(fragment.appendChild)
32+ result.take(resultsChunkSize ).foreach(fragment.appendChild)
3233 resultsDiv.appendChild(fragment)
3334 def loadMoreResults (result : List [raw.HTMLElement ]): Unit = {
3435 resultsDiv.onscroll = (event : Event ) => {
3536 if (resultsDiv.scrollHeight - resultsDiv.scrollTop == resultsDiv.clientHeight)
3637 {
3738 val fragment = document.createDocumentFragment()
38- result.take(100 ).foreach(fragment.appendChild)
39+ result.take(resultsChunkSize ).foreach(fragment.appendChild)
3940 resultsDiv.appendChild(fragment)
40- loadMoreResults(result.drop(100 ))
41+ loadMoreResults(result.drop(resultsChunkSize ))
4142 }
4243 }
4344 }
44- loadMoreResults(result.drop(100 ))
45+ loadMoreResults(result.drop(resultsChunkSize ))
4546
46- private val logoClick : html.Div =
47+ private val searchIcon : html.Div =
4748 val span = document.createElement(" span" ).asInstanceOf [html.Span ]
4849 span.innerHTML = """ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M19.64 18.36l-6.24-6.24a7.52 7.52 0 10-1.28 1.28l6.24 6.24zM7.5 13.4a5.9 5.9 0 115.9-5.9 5.91 5.91 0 01-5.9 5.9z"></path></svg>"""
4950 span.id = " scala3doc-search"
@@ -87,7 +88,7 @@ class SearchbarComponent(val callback: (String) => List[PageEntry]):
8788 private val rootDiv : html.Div =
8889 val element = document.createElement(" div" ).asInstanceOf [html.Div ]
8990 element.addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
90- logoClick .addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
91+ searchIcon .addEventListener(" mousedown" , (e : Event ) => e.stopPropagation())
9192 document.body.addEventListener(" mousedown" , (e : Event ) =>
9293 if (document.body.contains(element)) {
9394 document.body.removeChild(element)
0 commit comments