]> xenbits.xensource.com Git - xcp/xen-api.git/commitdiff
HTML API docs: display fields in namespaces
authorRob Hoes <rob.hoes@citrix.com>
Fri, 18 Jun 2010 13:20:56 +0000 (14:20 +0100)
committerRob Hoes <rob.hoes@citrix.com>
Fri, 18 Jun 2010 13:20:56 +0000 (14:20 +0100)
Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
ocaml/doc/apidoc.js
ocaml/doc/main.js

index 7ac9e756eef7a0c6298be7cc6ec5ebc46a0cb175..d111b9de95648d583b98048ab2b439da3c04ca0a 100644 (file)
@@ -133,7 +133,7 @@ function get_release_name(s)
 
 function make_field(fld, n)
 {
-       name = fld.field_name;
+       name = fld.full_name.join('_');
 
        html = "";      
        html = '<div class="field' + toggle(n) + '">';
@@ -211,10 +211,15 @@ function make_message(msg, n)
 
 function class_doc()
 {      
-       contents = clsdoc.contents;
-       fields = filter(function(f){return f[0] == "Field";}, contents);
+       contents = clsdoc.contents;     
+       fields = fold(function(a, x){
+               if (x[0] == "Field") a.push(x);
+               else a = a.concat(x[2]);
+               return a;
+               }, [], contents);
        fields = map(function(f){return f[1];}, fields);
-       fields.sort(function(a, b){return compare(a.field_name.toLowerCase(), b.field_name.toLowerCase());});
+       
+       fields.sort(function(a, b){return compare(a.full_name.join('_').toLowerCase(), b.full_name.join('_').toLowerCase());});
        messages = clsdoc.messages;
        messages = filter(function(m){return m.msg_hide_from_docs == false;}, messages);
        messages.sort(function(a, b){return compare(a.msg_name.toLowerCase(), b.msg_name.toLowerCase())});
index baab7582813102ef8e765eb312bb4063ff0a40f8..02d2f95bd6c9727ce41f844206d3728becc59f25 100644 (file)
@@ -68,6 +68,14 @@ function map(f, l)
        return x;
 }
 
+function fold(f, a, l)
+{
+       if (l.length == 0)
+               return a;
+       else
+               return fold(f, f(a, l[0]), l.slice(1));
+}
+
 // compare function for sorting
 function compare(a, b)
 {