diff options
author | Scott Main <smain@google.com> | 2010-02-05 14:30:08 -0800 |
---|---|---|
committer | Scott Main <smain@google.com> | 2010-02-05 14:37:58 -0800 |
commit | ee629d9c9dca8817acbaba3ec0d7ec78c574745f (patch) | |
tree | 7989cc67aec6c0aaff7159d1d7bf0d985197bc53 /tools/droiddoc/templates/assets/android-developer-docs.js | |
parent | 14833605d26bf970cd5335c02af4354b68d93348 (diff) | |
download | build-ee629d9c9dca8817acbaba3ec0d7ec78c574745f.zip build-ee629d9c9dca8817acbaba3ec0d7ec78c574745f.tar.gz build-ee629d9c9dca8817acbaba3ec0d7ec78c574745f.tar.bz2 |
revise script and styles for the expandable widget in the dev
guide side nav to allow nested toggle lists. This is necessary
for the new resources docs that have an expandable list nested
in an expandable list.
Diffstat (limited to 'tools/droiddoc/templates/assets/android-developer-docs.js')
-rw-r--r-- | tools/droiddoc/templates/assets/android-developer-docs.js | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/tools/droiddoc/templates/assets/android-developer-docs.js b/tools/droiddoc/templates/assets/android-developer-docs.js index dfe8fa1..4f27e0e 100644 --- a/tools/droiddoc/templates/assets/android-developer-docs.js +++ b/tools/droiddoc/templates/assets/android-developer-docs.js @@ -193,11 +193,25 @@ function highlightNav(fullPageName) { if (lastBackstep == 0) break; } } + + // add 'selected' to the <li> or <div> that wraps this <a> link.parent().addClass('selected'); - if (link.parent().parent().is(':hidden')) { - toggle(link.parent().parent().parent(), false); - } else if (link.parent().parent().hasClass('toggle-list')) { - toggle(link.parent().parent(), false); + + // if we're in a toggleable root link (<li class=toggle-list><div><a>) + if (link.parent().parent().hasClass('toggle-list')) { + toggle(link.parent().parent(), false); // open our own list + // then also check if we're in a third-level nested list that's toggleable + if (link.parent().parent().parent().is(':hidden')) { + toggle(link.parent().parent().parent().parent(), false); // open the super parent list + } + } + // if we're in a normal nav link (<li><a>) and the parent <ul> is hidden + else if (link.parent().parent().is(':hidden')) { + toggle(link.parent().parent().parent(), false); // open the parent list + // then also check if the parent list is also nested in a hidden list + if (link.parent().parent().parent().parent().is(':hidden')) { + toggle(link.parent().parent().parent().parent().parent(), false); // open the super parent list + } } } @@ -335,7 +349,7 @@ $(window).unload(function(){ }); function toggle(obj, slide) { - var ul = $("ul", obj); + var ul = $("ul:first", obj); var li = ul.parent(); if (li.hasClass("closed")) { if (slide) { @@ -357,7 +371,7 @@ function toggle(obj, slide) { function buildToggleLists() { $(".toggle-list").each( function(i) { - $("div", this).append("<a class='toggle-img' href='#' title='show pages' onClick='toggle(this.parentNode.parentNode, true); return false;'></a>"); + $("div:first", this).append("<a class='toggle-img' href='#' title='show pages' onClick='toggle(this.parentNode.parentNode, true); return false;'></a>"); $(this).addClass("closed"); }); } |