I uploaded a new set of API docs that keeps the „loading…“ message at the top of the result list until all the index files have been loaded.
http://cr.openjdk.java.net/~hannesw/8236935/api.01/ I also tweaked the delay for loading index files for testing purposes to 3 seconds for modules, packages, and search tags, 6 seconds for types, and 9 seconds for members. Try searchign for „logg“ to generate search results in all categories and see the effect of results being updated. I actually think this is better than my previous solution. If everybody agrees I’ll upload a new webrev with the changed behaviour. Hannes > Am 18.06.2020 um 22:25 schrieb Jonathan Gibbons <jonathan.gibb...@oracle.com>: > > Hannes, > > I played with the posted APIs again. It seems to be the case that the > "loading" message only appeared briefly, for only as long as no search > results are found. Once some results are found, even if not all have been > found, the message goes away. After the message goes away, the search > results may still get updated when other files have been loaded. It is > reasonable to continue updates, but I think it would be nicer if the > 'loading' message persisted until all the files have been loaded. > > The behavior I observe seems to be confirmed by this extract from the code: > > 311 if (result.length === 0) { > 312 result.push(loading); > 313 } > Does it work to just remove the `if (expr)` ? It is already the case that > this code is protected inside `if (!indexFilesLoaded()) ...` > > -- Jon > > On 6/10/20 2:44 PM, Hannes Wallnoefer wrote: >> Please review a fix to display a „Loading search index…“ message in javadoc >> search while the search index files are loading and updating the results >> when loading is completed. >> >> JBS: >> https://bugs.openjdk.java.net/browse/JDK-8236935 >> >> Webrev: >> http://cr.openjdk.java.net/~hannesw/8236935/webrev.00/ >> >> >> This introduces an updateSearchResults function in script.js that is empty >> by default. When a search is performed before the index files have been >> fully loaded, the updateSearchResults function is replaced with a version >> that will update the search results when an index file is loaded and >> evaluated. >> >> An invocation of updateSearchResults() is added at the end of each search >> index file. Also, as a consequence of this change all search index files are >> generated regardless of whether it is empty or not (provided the index >> option is enabled). This means a bit of added overhead for docs without >> modules or search tags, but the cost should be neglectible for a mostly >> empty script file. >> >> JDK API docs generated with this patch at the URL below. These docs also >> feature an extra 5 second delay for loading the search index files to make >> it easier to test the new feature. >> >> >> http://cr.openjdk.java.net/~hannesw/8236935/api.00/ >> >> >> One thing you might notice is that sometimes search results are updated >> multiple times - once for each search index file that is loaded. This is a >> bit annoying, and it also reminded me that loading each index in a separate >> file probably adds quite a bit of network and evaluation overhead. As an >> experiment, I created a version that combines all search indices in one >> single file. I’m not proposing that for 15 since it’s a bigger change that >> shouldn’t be rushed, but I’m including it here as a possible next step. >> >> Single search index file (just for evaluation, not proposed for JDK 15): >> Webrev: >> http://cr.openjdk.java.net/~hannesw/8236935/webrev.singleindex.00/ >> >> API docs: >> http://cr.openjdk.java.net/~hannesw/8236935/api.singleindex.00/ >> >> >> Hannes >>