Skip to content

Commit

Permalink
Merge pull request #709 from MartinNowak/tabOrderSymbolSearch
Browse files Browse the repository at this point in the history
improve symbol search for new doc layout
  • Loading branch information
AndrejMitrovic committed Dec 5, 2014
2 parents 436291b + 94f8c91 commit 9c9689e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
2 changes: 1 addition & 1 deletion dpl-docs/views/layout.dt
Expand Up @@ -53,7 +53,7 @@ html(lang='en-US')
input(type='hidden', name='sourceid', value='google-search')
input(type='submit', name='submit', value='Go')
#symbolSearchPane(style="display: none")
input#symbolSearch(type="text", name="symbolSearch", placeholder="API Search", onchange="performSymbolSearch(80);", onkeypress="this.onchange();", onpaste="this.onchange();", oninput="this.onchange();")
input#symbolSearch(type="text", name="symbolSearch", placeholder="API Search", onchange="performSymbolSearch(80);", onkeypress="this.onchange();", onpaste="this.onchange();", oninput="this.onchange();", autofocus)

#toctop
ul
Expand Down
21 changes: 17 additions & 4 deletions js/ddox.js
Expand Up @@ -2,6 +2,7 @@ function setupDdox()
{
$(".tree-view").children(".package").click(toggleTree);
$(".tree-view.collapsed").children("ul").hide();
$("#symbolSearch").attr("tabindex", "1000");
}

function toggleTree()
Expand All @@ -22,7 +23,7 @@ var lastSearchString = "";
function performSymbolSearch(maxlen)
{
if (maxlen === 'undefined') maxlen = 26;

var searchstring = $("#symbolSearch").val().toLowerCase();

if (searchstring == lastSearchString) return;
Expand Down Expand Up @@ -50,23 +51,35 @@ function performSymbolSearch(maxlen)
}

function compare(a, b) {
// prefer non-deprecated matches
var adep = a.attributes.indexOf("deprecated") >= 0;
var bdep = b.attributes.indexOf("deprecated") >= 0;
if (adep != bdep) return adep - bdep;

// normalize the names
var aname = a.name.toLowerCase();
var bname = b.name.toLowerCase();

var anameparts = aname.split(".");
var bnameparts = bname.split(".");

var aexact = terms.indexOf(anameparts[anameparts.length-1]) >= 0;
var bexact = terms.indexOf(bnameparts[bnameparts.length-1]) >= 0;
var asname = anameparts[anameparts.length-1];
var bsname = bnameparts[bnameparts.length-1];

// prefer exact matches
var aexact = terms.indexOf(asname) >= 0;
var bexact = terms.indexOf(bsname) >= 0;
if (aexact != bexact) return bexact - aexact;

// prefer elements with less nesting
if (anameparts.length < bnameparts.length) return -1;
if (anameparts.length > bnameparts.length) return 1;

// prefer matches with a shorter name
if (asname.length < bsname.length) return -1;
if (asname.length > bsname.length) return 1;

// sort the rest alphabetically
if (aname < bname) return -1;
if (aname > bname) return 1;
return 0;
Expand Down Expand Up @@ -95,7 +108,7 @@ function performSymbolSearch(maxlen)
if (np > 0) shortname = ".." + shortname;
else shortname = shortname.substr(1);

el.append('<a href="'+symbolSearchRootDir+sym.path+'" title="'+name+'">'+shortname+'</a>');
el.append('<a href="'+symbolSearchRootDir+sym.path+'" title="'+name+'" tabindex="1001">'+shortname+'</a>');
$('#symbolSearchResults').append(el);
}

Expand Down

0 comments on commit 9c9689e

Please sign in to comment.