6150d48d9a5cfcac6bc0a445f191e5d9fae70caa
Author: Mark Story
Date: 2009-06-28 21:16:58 -0400
diff --git a/vendors/css/base.css b/vendors/css/base.css
index 30d4d6f..94f8e2c 100644
--- a/vendors/css/base.css
+++ b/vendors/css/base.css
@@ -209,7 +209,7 @@ File Browser Styles
}
/* files and folders in sidebar */
-#sidebar .package a,
+#sidebar .package span,
#sidebar .file a,
#sidebar .folder a,
#sidebar #classIndex li a {
@@ -508,7 +508,7 @@ Sidebar
list-style:none;
margin: 2px 0px;
}
-#sidebar .package-tree a {
+#sidebar .package-tree span {
display:block;
}
#sidebar .package-tree .package-tree {
@@ -532,7 +532,7 @@ Package Index
margin:3px 0;
list-style: none;
}
-.package-tree li a{
+.package-tree li span {
padding: 8px 8px 8px 40px;
display: block;
border-top: 2px solid #fff;
diff --git a/vendors/js/api_generator.js b/vendors/js/api_generator.js
index 643f029..94eff77 100644
--- a/vendors/js/api_generator.js
+++ b/vendors/js/api_generator.js
@@ -81,6 +81,27 @@ 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.getElements('ul').each(function (element) {
+ element.hide();
+ })
+ }
+}
/**
* Javascript used on Api doc Pages
diff --git a/views/helpers/api_doc.php b/views/helpers/api_doc.php
index 348cd7b..a7b7ff6 100644
--- a/views/helpers/api_doc.php
+++ b/views/helpers/api_doc.php
@@ -247,15 +247,16 @@ class ApiDocHelper extends AppHelper {
* @param array $packageTree Array of package tree from find(threaded)
* @return string Formatted HTML
**/
- public function generatePackageTree($packageTree) {
- $out = '<ul class="package-tree">' . "\n";
+ public function generatePackageTree($packageTree, $depth = 0) {
+ $out = '<ul class="package-tree depth-'. $depth . '">' . "\n";
foreach ($packageTree as $branch) {
$children = null;
$link = $this->packageLink($branch['ApiPackage']['name']);
if (!empty($branch['children'])) {
- $children = $this->generatePackageTree($branch['children']);
+ $depth++;
+ $children = $this->generatePackageTree($branch['children'], $depth);
}
- $out .= sprintf("\t<li class=\"package\">%s %s</li>\n", $link, $children);
+ $out .= sprintf("\t<li class=\"package\"><span>%s</span> %s</li>\n", $link, $children);
}
$out .= "</ul>\n";
return $out;
