278926612fa81ad5cc35f0cc80f31ee5bd86868d
Author: Mark Story
Date: 2009-07-14 21:55:59 -0400
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');
}
});
});
