Commit 5aa1e78807

Andrew Kelley <andrew@ziglang.org>
2019-10-05 19:29:35
generated docs: navigable types
1 parent f78d49c
Changed files (1)
lib
std
special
lib/std/special/doc/main.js
@@ -73,7 +73,7 @@
         domStatus.textContent = "404 Not Found";
         domStatus.classList.remove("hidden");
         domSectPkgs.classList.add("hidden");
-        domListPkgs.classList.add("hidden");
+        domSectTypes.classList.add("hidden");
     }
 
     function renderPkgList(pkg) {
@@ -90,20 +90,28 @@
         });
 
         if (list.length === 0) {
-            domSectPkgs.classList.remove("hidden");
+            domSectPkgs.classList.add("hidden");
         } else {
             resizeDomList(domListPkgs, list.length, '<li><a href="#"></a></li>');
             for (var i = 0; i < list.length; i += 1) {
                 var liDom = domListPkgs.children[i];
                 var aDom = liDom.children[0];
                 aDom.textContent = list[i].name;
-                aDom.setAttribute('href', "#" + list[i].name);
+                aDom.setAttribute('href', navLinkPkg(list[i].name));
             }
 
             domSectPkgs.classList.remove("hidden");
         }
     }
 
+    function navLinkPkg(childName) {
+        return '#' + (curNav.pkgNames.concat([childName])).join(',');
+    }
+
+    function navLinkDecl(childName) {
+        return '#' + curNav.pkgNames.join(",") + ';' + (curNav.declNames.concat([childName])).join(",");
+    }
+
     function resizeDomList(listDom, desiredLen, templateHtml) {
         // add the missing dom entries
         var i, ev;
@@ -129,11 +137,13 @@
             return operatorCompare(a.name.toLowerCase(), b.name.toLowerCase());
         });
 
-        resizeDomList(domListTypes, list.length, '<li></li>');
+        resizeDomList(domListTypes, list.length, '<li><a href="#"></a></li>');
         for (var i = 0; i < list.length; i += 1) {
-            var domItem = domListTypes.children[i];
+            var liDom = domListTypes.children[i];
+            var aDom = liDom.children[0];
             var decl = list[i];
-            domItem.textContent = decl.name;
+            aDom.textContent = decl.name;
+            aDom.setAttribute('href', navLinkDecl(decl.name));
         }
 
         domSectTypes.classList.remove("hidden");