Very nice!  thanks

-- Jon

On 7/10/20 12:34 PM, Hannes Wallnoefer wrote:
Jon, I’m uploading the API docs without delay here:

http://cr.openjdk.java.net/~hannesw/8236935/api.nodelay.01/

Hannes

Am 10.07.2020 um 17:40 schrieb Jonathan Gibbons <jonathan.gibb...@oracle.com>:

Hannes,

Code looks OK.

Can you upload API docs without the built-in delay?

-- Jon

On 7/10/20 6:40 AM, Hannes Wallnoefer wrote:
Ping. I realized I hadn’t uploaded the webrev, just the rendered API docs with 
the delayed index loading, so here is the new webrev:

https://cr.openjdk.java.net/~hannesw/8236935/webrev.01/

We need to decide whether we want to get this into 15 or defer to 16.

The most significant change outside of the UX fix is that all index files are 
generated all the time, even if they contain no items.

Hannes

Am 29.06.2020 um 16:36 schrieb Hannes Wallnoefer <hannes.wallnoe...@oracle.com>:

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

Reply via email to