X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=api-viewer%2FPVEAPI.js;h=1c34ef2e850deca859d107e2644bf582cf42fdf5;hp=47dbe887145fbc8891b8ba541aba57b23cfb9b28;hb=94958b8b9230d5b9b5e2e70c481f115b18a5fa0b;hpb=b2ff6d63c3dda99ecc45e40788e43ed1c9231aef diff --git a/api-viewer/PVEAPI.js b/api-viewer/PVEAPI.js index 47dbe88..1c34ef2 100644 --- a/api-viewer/PVEAPI.js +++ b/api-viewer/PVEAPI.js @@ -11,8 +11,8 @@ Ext.onReady(function() { Ext.define('pve-param-schema', { extend: 'Ext.data.Model', fields: [ - 'name', 'type', 'typetext', 'description', 'enum', - 'minimum', 'maximum', 'minLength', 'maxLength', + 'name', 'type', 'typetext', 'description', 'verbose_description', + 'enum', 'minimum', 'maximum', 'minLength', 'maxLength', 'pattern', 'title', 'requires', 'format', 'default', 'disallow', 'extends', 'links', { @@ -42,9 +42,13 @@ Ext.onReady(function() { }] }); - var render_text = function(value, metaData, record) { + var render_description = function(value, metaData, record) { var pdef = record.data; + value = pdef.verbose_description || value; + + // TODO: try to render asciidoc correctly + metaData.style = 'white-space:pre-wrap;' return Ext.htmlEncode(value); @@ -62,7 +66,7 @@ Ext.onReady(function() { metaData.style = 'white-space:normal;' if (pdef.typetext) - return pdef.typetext; + return Ext.htmlEncode(pdef.typetext); if (pdef['enum']) return pdef['enum'].join(' | '); @@ -71,7 +75,7 @@ Ext.onReady(function() { return pdef.format; if (pdef.pattern) - return pdef.pattern; + return Ext.htmlEncode(pdef.pattern); return ''; }; @@ -150,26 +154,33 @@ Ext.onReady(function() { stripeRows: true }, columns: [ - { + { header: 'Name', - dataIndex: 'name' + dataIndex: 'name', + flex: 1 }, - { + { header: 'Type', dataIndex: 'type', renderer: render_type, + flex: 1 + }, + { + header: 'Default', + dataIndex: 'default', + flex: 1 }, - { + { header: 'Format', dataIndex: 'type', renderer: render_format, - flex: 1 + flex: 2 }, - { + { header: 'Description', dataIndex: 'description', - renderer: render_text, - flex: 2 + renderer: render_description, + flex: 6 } ] }); @@ -178,14 +189,27 @@ Ext.onReady(function() { if (info.returns) { - var rtype = info.returns.type; - if (!rtype && info.returns.items) + var retinf = info.returns; + var rtype = retinf.type; + if (!rtype && retinf.items) rtype = 'array'; if (!rtype) rtype = 'object'; + var returnhtml; + if (retinf.items) { + returnhtml = '
items: ' + Ext.htmlEncode(JSON.stringify(retinf.items, null, 4)) + '
'; + } + + if (retinf.properties) { + returnhtml = returnhtml || ''; + returnhtml += '
properties:' + Ext.htmlEncode(JSON.stringify(retinf.properties, null, 4));
+		    }
+
 		    sections.push({
-			title: 'Returns: ' + rtype
+			title: 'Returns: ' + rtype,
+			bodyPadding: 10,
+			html: returnhtml
 		    });
 		}
 
@@ -201,9 +225,9 @@ Ext.onReady(function() {
 		    if (info.permissions.user) {
 			if (!info.permissions.description) {
 			    if (info.permissions.user === 'world') {
-				permhtml += "Accessible without any authententification.";
+				permhtml += "Accessible without any authentication.";
 			    } else if (info.permissions.user === 'all') {
-				permhtml += "Accessible by all authententicated users.";
+				permhtml += "Accessible by all authenticated users.";
 			    } else {
 				permhtml += 'Onyl accessible by user "' + 
 				    info.permissions.user + '"';
@@ -239,6 +263,7 @@ Ext.onReady(function() {
 	ct.setTitle("Path: " + data.path);
 	ct.removeAll(true);
 	ct.add(items);
+	ct.setActiveTab(0);
     };
 
     var tree = Ext.create('Ext.tree.Panel', {