278926612fa81ad5cc35f0cc80f31ee5bd86868d

Author: Mark Story

Date: 2009-07-14 21:55:59 -0400

Updating CSS and JS for packages.

diff --git a/vendors/css/base.css b/vendors/css/base.css index 94f8e2c..12562f7 100644 --- a/vendors/css/base.css +++ b/vendors/css/base.css @@ -545,6 +545,18 @@ Package Index margin: 0; } +.package-tree .has-child > span { + cursor: pointer; +} +.package-tree .has-child > span:after { + content: ' [+]'; + font-family: monaco, courier, monospaced; +} +.package-tree .expanded.has-child > span:after { + content: ' [-]'; + font-family: monaco, courier, monospaced; +} + /* Code highlighting ****************************/ diff --git a/vendors/js/api_generator.js b/vendors/js/api_generator.js index 94eff77..0029913 100644 --- a/vendors/js/api_generator.js +++ b/vendors/js/api_generator.js @@ -84,16 +84,21 @@ ApiGenerator.docBlocks = { ApiGenerator.packageTree = { init: function () { var trees = $$('ul.package-tree.depth-0'); - - trees.getElements('li').each(function (element) { - element.addEvent('click', function (event) { - event.stopPropagation(); - if (event.target.nodeName.toUpperCase() == 'A') { - return; - } - var ul = this.getChildren('ul'); - if (ul) { - ul.toggle(); + trees.each(function (packagetree) { + packagetree.getElements('li').each(function (element) { + element.addEvent('click', function (event) { + event.stopPropagation(); + if (event.target.nodeName.toUpperCase() == 'A') { + return; + } + var ul = this.getChildren('ul'); + if (ul.length) { + ul.toggle(); + this.toggleClass('expanded'); + } + }); + if (element.getChildren('ul').length) { + element.addClass('has-child'); } }); });