[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-API] [PATCH 1 of 5] HTML API docs: Display enums
ocaml/doc/apidoc.js | 87 ++++++++++++++++++++++++++++++++++------------------ ocaml/doc/style.css | 2 +- 2 files changed, 57 insertions(+), 32 deletions(-) # HG changeset patch # User Rob Hoes <rob.hoes@xxxxxxxxxx> # Date 1276866460 -3600 # Node ID c1d171ee6584e9b0e2326d80bda780c5868f40c1 # Parent add6dc1c2d4cfe5d2201092ad71c95eb9546f04a HTML API docs: Display enums Signed-off-by: Rob Hoes <rob.hoes@xxxxxxxxxx> diff -r add6dc1c2d4c -r c1d171ee6584 ocaml/doc/apidoc.js --- a/ocaml/doc/apidoc.js +++ b/ocaml/doc/apidoc.js @@ -25,6 +25,33 @@ return 'read/write'; } +function make_enum(t) +{ + n = t[1]; + obj = document.getElementById('enums'); + i = obj.children.length + 1; + obj.style.display = '' + + if (document.getElementById('enum_' + n) == null) { + html = '<div id="enum_' + n + '" class="field' + toggle(i) + '">'; + html += '<input type="button" class="small-button" value="details" onclick="showhide(document.getElementById(\'enum_' + n + '_details\'))" />'; + html += '<div class="field-name">' + n + '</div>'; + html += '<div id="enum_' + n + '_details" style="display: none">'; + + html += '<table class="field-table">'; + var first = true; + for (i in t[2]) { + html += '<tr><td style="white-space: nowrap">' + (first ? '<span class="field-head">Values:</span>' : '') + '</td>'; + html += '<td style="white-space: nowrap">' + i + '</td><td>' + t[2][i] + '</td></tr>'; + first = false; + } + html += '</table>'; + html += '</div></div>'; + + obj.innerHTML += html; + } +} + function transform_type(t) { switch (t) { @@ -42,7 +69,8 @@ case "Record": return t[1] + ' record'; case "Enum": - return t[1]; + make_enum(t); + return '<a href="#enum_' + t[1] + '">' + t[1] + '</a>'; case "Set": return transform_type(t[1]) + ' set'; case "Map": @@ -113,18 +141,16 @@ html += '<div class="lifecycle">' + current_lifecycle_stage(fld.lifecycle) + '</div>'; html += '<div><span class="inline-type">' + transform_type(fld.ty) + '</span> <span class="field-name">' + name + '</span> <span class="inline-qualifier">[' + qualifier(fld.qualifier) + ']</span></div>'; - html += '<div id="' + name + '_details" style="display: none">'; + html += '<div id="' + name + '_details" style="display: none">'; html += '<div class="field-description">' + fld.field_description + '</div>'; html += '<table class="field-table">'; if (fld.default_value != undefined) - html += '<tr><td width="130px"><span class="field-head">Default value:</span></td><td>' + transform_default(fld.default_value) + '</td></tr>'; - html += '</table>'; - - html += '<table class="field-table">'; + html += '<tr><td style="white-space: nowrap"><span class="field-head">Default value:</span></td><td colspan="2">' + transform_default(fld.default_value) + '</td></tr>'; + for (i in fld.lifecycle) { l = fld.lifecycle[i]; - html += '<tr><td width="130px"><span class="field-head">' + l[0] + ' in:</span></td><td width="130px">' + get_release_name(l[1]) + '</td><td>' + l[2] + '</td></tr>'; + html += '<tr><td style="white-space: nowrap"><span class="field-head">' + l[0] + ' in:</span></td><td style="white-space: nowrap">' + get_release_name(l[1]) + '</td><td>' + l[2] + '</td></tr>'; } html += '</table>'; html += '</div></div>'; @@ -149,40 +175,35 @@ html += '<div class="field-description">' + msg.msg_doc + '</div>'; - html += '<div id="' + name + '_details" style="display: none">'; + html += '<div id="' + name + '_details" style="display: none">'; html += '<table class="field-table">'; - - html += '<tr id="' + name + '_params"><td width="130px"><span class="field-head">Parameters:</span></td><td>'; - html += '<table>'; for (i in msg.msg_params) { p = msg.msg_params[i]; - html += '<tr><td style="padding: 0 .4em 0 0">' + transform_type(p.param_type) + ' ' + p.param_name + '</td>'; - html += '<td style="padding: 0 0 0 .4em">' + p.param_doc + '</td></tr>'; + html += '<tr><td style="white-space: nowrap">' + (i == 0 ? '<span class="field-head">Parameters:</span>' : '') + '</td>'; + html += '<td style="white-space: nowrap">' + transform_type(p.param_type) + ' ' + p.param_name + '</td>'; + html += '<td>' + p.param_doc + '</td></tr>'; } - html += '</table></td></tr>'; - html += '<tr><td><span class="field-head">Minimum role:</span></td><td>' + msg.msg_allowed_roles[msg.msg_allowed_roles.length - 1] + '</td></tr>'; + html += '<tr><td><span class="field-head">Minimum role:</span></td><td colspan="2">' + msg.msg_allowed_roles[msg.msg_allowed_roles.length - 1] + '</td></tr>'; + if (msg.msg_result != undefined) - html += '<tr><td><span class="field-head">Result:</span></td><td>' + msg.msg_result[1] + '</td></tr>'; + html += '<tr><td><span class="field-head">Result:</span></td><td colspan="2">' + msg.msg_result[1] + '</td></tr>'; + if (msg.msg_errors != undefined && msg.msg_errors.length > 0) { - html += '<tr><td><span class="field-head">Errors:</span></td><td>' - html += '<table>'; for (i in msg.msg_errors) { e = msg.msg_errors[i]; - html += '<tr><td style="padding: 0 .4em 0 0">' + e.err_name + '</td>'; - html += '<td style="padding: 0 0 0 .4em">' + e.err_doc + '</td></tr>'; + html += '<tr><td style="white-space: nowrap">' + (i == 0 ? '<span class="field-head">Errors:</span>' : '') + '</td>'; + html += '<td style="white-space: nowrap">' + e.err_name + '</td>'; + html += '<td>' + e.err_doc + '</td></tr>'; } - html += '</table></td></tr>'; + } + + for (i in msg.msg_lifecycle) { + l = msg.msg_lifecycle[i]; + html += '<tr><td style="white-space: nowrap"><span class="field-head">' + l[0] + ' in:</span></td>'; + html += '<td style="white-space: nowrap">' + get_release_name(l[1]) + '</td><td>' + l[2] + '</td></tr>'; } html += '</table>'; - - html += '<table class="field-table">'; - for (i in msg.msg_lifecycle) { - l = msg.msg_lifecycle[i]; - html += '<tr><td width="130px"><span class="field-head">' + l[0] + ' in:</span></td><td width="130px">' + get_release_name(l[1]) + '</td><td>' + l[2] + '</td></tr>'; - } - html += '</table>'; - html += '</div></div>'; return html; @@ -214,7 +235,11 @@ html += '</table>'; html += '</div>'; - html += '<h2>Fields</h2>'; + html += '<div id="enums" style="display: none"><h2>Enums</h2></div>'; + + set_content(html); + + html = '<h2>Fields</h2>'; if (fields.length > 0) { for (i in fields) html += make_field(fields[i], i); @@ -230,7 +255,7 @@ else html += '<p>None.</p>'; - set_content(html); + append_content(html); } function compare_release_notes(a, b) diff -r add6dc1c2d4c -r c1d171ee6584 ocaml/doc/style.css --- a/ocaml/doc/style.css +++ b/ocaml/doc/style.css @@ -260,7 +260,7 @@ } .field-table td { - padding: .3em .5em .3em 0; + padding: .3em 1.5em .3em 0; } .inline-type { _______________________________________________ xen-api mailing list xen-api@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/mailman/listinfo/xen-api
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |