all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs
@ 2021-05-28 12:17 Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 1/4] docs/prune-simulator: remove displayField for Calendar Field Dominik Csapak
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Dominik Csapak @ 2021-05-28 12:17 UTC (permalink / raw)
  To: pbs-devel

to be able to better reuse code across repositories
includes Toolkit fixes/overrides for extjs in lto-barcode and prune-simulator
also a single fix for ext7.0 is also included

Dominik Csapak (4):
  docs/prune-simulator: remove displayField for Calendar Field
  docs: add Toolkit.js to prune simulator
  docs: add Toolkit.js to lto-barcode
  docs: build api-viewer from widget-toolkit-dev

 debian/control                                |   3 +-
 debian/debcargo.toml                          |   1 +
 docs/Makefile                                 |  45 +-
 docs/api-viewer/PBSAPI.js                     | 526 ------------------
 docs/lto-barcode/index.html                   |  12 +-
 docs/lto-barcode/lto-barcode.js               |   6 +-
 ...simulator.js => prune-simulator_source.js} |   7 +-
 src/bin/docgen.rs                             |   2 +-
 8 files changed, 42 insertions(+), 560 deletions(-)
 delete mode 100644 docs/api-viewer/PBSAPI.js
 rename docs/prune-simulator/{prune-simulator.js => prune-simulator_source.js} (98%)

-- 
2.20.1





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pbs-devel] [PATCH proxmox-backup 1/4] docs/prune-simulator: remove displayField for Calendar Field
  2021-05-28 12:17 [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs Dominik Csapak
@ 2021-05-28 12:17 ` Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 2/4] docs: add Toolkit.js to prune simulator Dominik Csapak
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2021-05-28 12:17 UTC (permalink / raw)
  To: pbs-devel

in extjs 7.0, specifying displayField overwrites the displayTpl,
which we want to use here, so remove it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 docs/prune-simulator/prune-simulator.js | 1 -
 1 file changed, 1 deletion(-)

diff --git a/docs/prune-simulator/prune-simulator.js b/docs/prune-simulator/prune-simulator.js
index 6dcd65df..f1119f89 100644
--- a/docs/prune-simulator/prune-simulator.js
+++ b/docs/prune-simulator/prune-simulator.js
@@ -37,7 +37,6 @@ Ext.onReady(function() {
 
 	editable: true,
 
-	displayField: 'text',
 	valueField: 'value',
 	queryMode: 'local',
 
-- 
2.20.1





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pbs-devel] [PATCH proxmox-backup 2/4] docs: add Toolkit.js to prune simulator
  2021-05-28 12:17 [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 1/4] docs/prune-simulator: remove displayField for Calendar Field Dominik Csapak
@ 2021-05-28 12:17 ` Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 3/4] docs: add Toolkit.js to lto-barcode Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 4/4] docs: build api-viewer from widget-toolkit-dev Dominik Csapak
  3 siblings, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2021-05-28 12:17 UTC (permalink / raw)
  To: pbs-devel

from proxmox-widget-toolkit-dev and not as normal dependency,
else we would have to ship widget-toolkit on the wiki

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 debian/control                                            | 3 ++-
 debian/debcargo.toml                                      | 1 +
 docs/Makefile                                             | 8 ++++++++
 .../{prune-simulator.js => prune-simulator_source.js}     | 6 ++----
 4 files changed, 13 insertions(+), 5 deletions(-)
 rename docs/prune-simulator/{prune-simulator.js => prune-simulator_source.js} (99%)

diff --git a/debian/control b/debian/control
index 468dd4e1..be952de4 100644
--- a/debian/control
+++ b/debian/control
@@ -104,7 +104,8 @@ Build-Depends: debhelper (>= 11),
  texlive-fonts-extra <!nodoc>,
  texlive-fonts-recommended <!nodoc>,
  texlive-xetex <!nodoc>,
- xindy <!nodoc>
+ xindy <!nodoc>,
+ proxmox-widget-toolkit-dev <!nodoc>
 Maintainer: Proxmox Support Team <support@proxmox.com>
 Standards-Version: 4.4.1
 Vcs-Git: git://git.proxmox.com/git/proxmox-backup.git
diff --git a/debian/debcargo.toml b/debian/debcargo.toml
index da1a90a4..10149051 100644
--- a/debian/debcargo.toml
+++ b/debian/debcargo.toml
@@ -26,6 +26,7 @@ build_depends = [
   "texlive-fonts-recommended <!nodoc>",
   "texlive-xetex <!nodoc>",
   "xindy <!nodoc>",
+  "proxmox-widget-toolkit-dev <!nodoc>",
 ]
 
 build_depends_excludes = [
diff --git a/docs/Makefile b/docs/Makefile
index 722c0c3e..a416ce1f 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -46,6 +46,10 @@ PRUNE_SIMULATOR_FILES := 					\
 	prune-simulator/clear-trigger.png			\
 	prune-simulator/prune-simulator.js
 
+PRUNE_SIMULATOR_JS_SOURCE :=						\
+	/usr/share/javascript/proxmox-widget-toolkit-dev/Toolkit.js	\
+	prune-simulator/prune-simulator_source.js
+
 LTO_BARCODE_FILES :=						\
 	lto-barcode/index.html					\
 	lto-barcode/code39.js					\
@@ -199,6 +203,10 @@ api-viewer/apidata.js: ${COMPILEDIR}/docgen
 api-viewer/apidoc.js: api-viewer/apidata.js api-viewer/PBSAPI.js
 	cat api-viewer/apidata.js api-viewer/PBSAPI.js >$@
 
+prune-simulator/prune-simulator.js: ${PRUNE_SIMULATOR_JS_SOURCE}
+	cat ${PRUNE_SIMULATOR_JS_SOURCE} >$@.tmp
+	mv $@.tmp $@
+
 .PHONY: html
 html: ${GENERATED_SYNOPSIS} images/proxmox-logo.svg custom.css conf.py ${PRUNE_SIMULATOR_FILES} ${LTO_BARCODE_FILES} ${API_VIEWER_SOURCES}
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
diff --git a/docs/prune-simulator/prune-simulator.js b/docs/prune-simulator/prune-simulator_source.js
similarity index 99%
rename from docs/prune-simulator/prune-simulator.js
rename to docs/prune-simulator/prune-simulator_source.js
index f1119f89..0964178c 100644
--- a/docs/prune-simulator/prune-simulator.js
+++ b/docs/prune-simulator/prune-simulator_source.js
@@ -1,7 +1,5 @@
-// FIXME: HACK! Makes scrolling in number spinner work again. fixed in ExtJS >= 6.1
-if (Ext.isFirefox) {
-    Ext.$eventNameMap.DOMMouseScroll = 'DOMMouseScroll';
-}
+// for Toolkit.js
+function gettxt(val) { return val; };
 
 Ext.onReady(function() {
     const NOW = new Date();
-- 
2.20.1





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pbs-devel] [PATCH proxmox-backup 3/4] docs: add Toolkit.js to lto-barcode
  2021-05-28 12:17 [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 1/4] docs/prune-simulator: remove displayField for Calendar Field Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 2/4] docs: add Toolkit.js to prune simulator Dominik Csapak
@ 2021-05-28 12:17 ` Dominik Csapak
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 4/4] docs: build api-viewer from widget-toolkit-dev Dominik Csapak
  3 siblings, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2021-05-28 12:17 UTC (permalink / raw)
  To: pbs-devel

and generate a single js file for it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 docs/Makefile                                 | 28 ++++++++++++-------
 docs/lto-barcode/index.html                   | 12 +-------
 docs/lto-barcode/lto-barcode.js               |  6 ++--
 .../prune-simulator/prune-simulator_source.js |  2 +-
 4 files changed, 22 insertions(+), 26 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index a416ce1f..231400ac 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -50,18 +50,22 @@ PRUNE_SIMULATOR_JS_SOURCE :=						\
 	/usr/share/javascript/proxmox-widget-toolkit-dev/Toolkit.js	\
 	prune-simulator/prune-simulator_source.js
 
+LTO_BARCODE_JS_SOURCE :=						\
+	/usr/share/javascript/proxmox-widget-toolkit-dev/Toolkit.js	\
+	lto-barcode/code39.js						\
+	lto-barcode/prefix-field.js					\
+	lto-barcode/label-style.js					\
+	lto-barcode/tape-type.js					\
+	lto-barcode/paper-size.js					\
+	lto-barcode/page-layout.js					\
+	lto-barcode/page-calibration.js					\
+	lto-barcode/label-list.js					\
+	lto-barcode/label-setup.js					\
+	lto-barcode/lto-barcode.js
+
 LTO_BARCODE_FILES :=						\
 	lto-barcode/index.html					\
-	lto-barcode/code39.js					\
-	lto-barcode/prefix-field.js				\
-	lto-barcode/label-style.js				\
-	lto-barcode/tape-type.js				\
-	lto-barcode/paper-size.js				\
-	lto-barcode/page-layout.js				\
-	lto-barcode/page-calibration.js				\
-	lto-barcode/label-list.js				\
-	lto-barcode/label-setup.js				\
-	lto-barcode/lto-barcode.js
+	lto-barcode/lto-barcode-generator.js
 
 API_VIEWER_SOURCES=				\
 	api-viewer/index.html			\
@@ -207,6 +211,10 @@ prune-simulator/prune-simulator.js: ${PRUNE_SIMULATOR_JS_SOURCE}
 	cat ${PRUNE_SIMULATOR_JS_SOURCE} >$@.tmp
 	mv $@.tmp $@
 
+lto-barcode/lto-barcode-generator.js: ${LTO_BARCODE_JS_SOURCE}
+	cat ${LTO_BARCODE_JS_SOURCE} >$@.tmp
+	mv $@.tmp $@
+
 .PHONY: html
 html: ${GENERATED_SYNOPSIS} images/proxmox-logo.svg custom.css conf.py ${PRUNE_SIMULATOR_FILES} ${LTO_BARCODE_FILES} ${API_VIEWER_SOURCES}
 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
diff --git a/docs/lto-barcode/index.html b/docs/lto-barcode/index.html
index c47798c9..4afbf213 100644
--- a/docs/lto-barcode/index.html
+++ b/docs/lto-barcode/index.html
@@ -34,17 +34,7 @@
   </style>
   <link rel="stylesheet" type="text/css" href="font-awesome/css/font-awesome.css"/>
   <script type="text/javascript" src="extjs/ext-all.js"></script>
-  
-  <script type="text/javascript" src="code39.js"></script>
-  <script type="text/javascript" src="prefix-field.js"></script>
-  <script type="text/javascript" src="label-style.js"></script>
-  <script type="text/javascript" src="tape-type.js"></script>
-  <script type="text/javascript" src="paper-size.js"></script>
-  <script type="text/javascript" src="page-layout.js"></script>
-  <script type="text/javascript" src="page-calibration.js"></script>
-  <script type="text/javascript" src="label-list.js"></script>
-  <script type="text/javascript" src="label-setup.js"></script>
-  <script type="text/javascript" src="lto-barcode.js"></script>
+  <script type="text/javascript" src="lto-barcode-generator.js"></script>
 </head>
 <body>
 </body>
diff --git a/docs/lto-barcode/lto-barcode.js b/docs/lto-barcode/lto-barcode.js
index d6cb8506..2aeaba1b 100644
--- a/docs/lto-barcode/lto-barcode.js
+++ b/docs/lto-barcode/lto-barcode.js
@@ -1,7 +1,5 @@
-// FIXME: HACK! Makes scrolling in number spinner work again. fixed in ExtJS >= 6.1
-if (Ext.isFirefox) {
-    Ext.$eventNameMap.DOMMouseScroll = 'DOMMouseScroll';
-}
+// for toolkit.js
+function gettext(val) { return val; };
 
 function draw_labels(target_id, label_list, page_layout, calibration) {
     let max_labels = compute_max_labels(page_layout);
diff --git a/docs/prune-simulator/prune-simulator_source.js b/docs/prune-simulator/prune-simulator_source.js
index 0964178c..84d3461c 100644
--- a/docs/prune-simulator/prune-simulator_source.js
+++ b/docs/prune-simulator/prune-simulator_source.js
@@ -1,5 +1,5 @@
 // for Toolkit.js
-function gettxt(val) { return val; };
+function gettext(val) { return val; };
 
 Ext.onReady(function() {
     const NOW = new Date();
-- 
2.20.1





^ permalink raw reply	[flat|nested] 5+ messages in thread

* [pbs-devel] [PATCH proxmox-backup 4/4] docs: build api-viewer from widget-toolkit-dev
  2021-05-28 12:17 [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs Dominik Csapak
                   ` (2 preceding siblings ...)
  2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 3/4] docs: add Toolkit.js to lto-barcode Dominik Csapak
@ 2021-05-28 12:17 ` Dominik Csapak
  3 siblings, 0 replies; 5+ messages in thread
From: Dominik Csapak @ 2021-05-28 12:17 UTC (permalink / raw)
  To: pbs-devel

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 docs/Makefile             |   9 +-
 docs/api-viewer/PBSAPI.js | 526 --------------------------------------
 src/bin/docgen.rs         |   2 +-
 3 files changed, 8 insertions(+), 529 deletions(-)
 delete mode 100644 docs/api-viewer/PBSAPI.js

diff --git a/docs/Makefile b/docs/Makefile
index 231400ac..e7284546 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -71,6 +71,10 @@ API_VIEWER_SOURCES=				\
 	api-viewer/index.html			\
 	api-viewer/apidoc.js
 
+API_VIEWER_FILES :=							\
+	api-viewer/apidata.js						\
+	/usr/share/javascript/proxmox-widget-toolkit-dev/APIVIEWER.js	\
+
 # Sphinx documentation setup
 SPHINXOPTS    =
 SPHINXBUILD   = sphinx-build
@@ -204,8 +208,9 @@ onlinehelpinfo:
 api-viewer/apidata.js: ${COMPILEDIR}/docgen
 	${COMPILEDIR}/docgen apidata.js >$@
 
-api-viewer/apidoc.js: api-viewer/apidata.js api-viewer/PBSAPI.js
-	cat api-viewer/apidata.js api-viewer/PBSAPI.js >$@
+api-viewer/apidoc.js: ${API_VIEWER_FILES}
+	cat ${API_VIEWER_FILES} >$@.tmp
+	mv $@.tmp $@
 
 prune-simulator/prune-simulator.js: ${PRUNE_SIMULATOR_JS_SOURCE}
 	cat ${PRUNE_SIMULATOR_JS_SOURCE} >$@.tmp
diff --git a/docs/api-viewer/PBSAPI.js b/docs/api-viewer/PBSAPI.js
deleted file mode 100644
index d56f5e55..00000000
--- a/docs/api-viewer/PBSAPI.js
+++ /dev/null
@@ -1,526 +0,0 @@
-// avoid errors when running without development tools
-if (!Ext.isDefined(Ext.global.console)) {
-    var console = {
-        dir: function() {},
-        log: function() {}
-    };
-}
-
-Ext.onReady(function() {
-
-    Ext.define('pve-param-schema', {
-        extend: 'Ext.data.Model',
-        fields:  [
-	    'name', 'type', 'typetext', 'description', 'verbose_description',
-	    'enum', 'minimum', 'maximum', 'minLength', 'maxLength',
-	    'pattern', 'title', 'requires', 'format', 'default',
-	    'disallow', 'extends', 'links',
-	    {
-		name: 'optional',
-		type: 'boolean'
-	    }
-	]
-    });
-
-    var store = Ext.define('pve-updated-treestore', {
-	extend: 'Ext.data.TreeStore',
-	model: Ext.define('pve-api-doc', {
-            extend: 'Ext.data.Model',
-            fields:  [
-		'path', 'info', 'text',
-	    ]
-	}),
-        proxy: {
-            type: 'memory',
-            data: pbsapi
-        },
-        sorters: [{
-            property: 'leaf',
-            direction: 'ASC'
-        }, {
-            property: 'text',
-            direction: 'ASC'
-	}],
-	filterer: 'bottomup',
-	doFilter: function(node) {
-	    this.filterNodes(node, this.getFilters().getFilterFn(), true);
-	},
-
-	filterNodes: function(node, filterFn, parentVisible) {
-	    var me = this,
-		bottomUpFiltering = me.filterer === 'bottomup',
-		match = filterFn(node) && parentVisible || (node.isRoot() && !me.getRootVisible()),
-		childNodes = node.childNodes,
-		len = childNodes && childNodes.length, i, matchingChildren;
-
-	    if (len) {
-		for (i = 0; i < len; ++i) {
-		    matchingChildren = me.filterNodes(childNodes[i], filterFn, match || bottomUpFiltering) || matchingChildren;
-		}
-		if (bottomUpFiltering) {
-		    match = matchingChildren || match;
-		}
-	    }
-
-	    node.set("visible", match, me._silentOptions);
-	    return match;
-	},
-
-    }).create();
-
-    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);
-    };
-
-    var render_type = function(value, metaData, record) {
-	var pdef = record.data;
-
-	return pdef['enum'] ? 'enum' : (pdef.type || 'string');
-    };
-
-    let render_simple_format = function(pdef, type_fallback) {
-	if (pdef.typetext)
-	    return pdef.typetext;
-
-	if (pdef['enum'])
-	    return pdef['enum'].join(' | ');
-
-	if (pdef.format)
-	    return pdef.format;
-
-	if (pdef.pattern)
-	    return pdef.pattern;
-
-	if (pdef.type === 'boolean')
-	    return `<true|false>`;
-
-	if (type_fallback && pdef.type)
-	    return `<${pdef.type}>`;
-
-	return;
-    };
-
-    let render_format = function(value, metaData, record) {
-	let pdef = record.data;
-
-	metaData.style = 'white-space:normal;'
-
-	if (pdef.type === 'array' && pdef.items) {
-	    let format = render_simple_format(pdef.items, true);
-	    return `[${Ext.htmlEncode(format)}, ...]`;
-	}
-
-	return Ext.htmlEncode(render_simple_format(pdef) || '');
-    };
-
-    var real_path = function(path) {
-	return path.replace(/^.*\/_upgrade_(\/)?/, "/");
-    };
-
-    var permission_text = function(permission) {
-	let permhtml = "";
-
-	if (permission.user) {
-	    if (!permission.description) {
-		if (permission.user === 'world') {
-		    permhtml += "Accessible without any authentication.";
-		} else if (permission.user === 'all') {
-		    permhtml += "Accessible by all authenticated users.";
-		} else {
-		    permhtml += 'Onyl accessible by user "' +
-			permission.user + '"';
-		}
-	    }
-	} else if (permission.check) {
-	    permhtml += "<pre>Check: " +
-		Ext.htmlEncode(Ext.JSON.encode(permission.check))  + "</pre>";
-	} else if (permission.userParam) {
-	    permhtml += `<div>Check if user matches parameter '${permission.userParam}'`;
-	} else if (permission.or) {
-	    permhtml += "<div>Or<div style='padding-left: 10px;'>";
-	    Ext.Array.each(permission.or, function(sub_permission) {
-		permhtml += permission_text(sub_permission);
-	    })
-	    permhtml += "</div></div>";
-	} else if (permission.and) {
-	    permhtml += "<div>And<div style='padding-left: 10px;'>";
-	    Ext.Array.each(permission.and, function(sub_permission) {
-		permhtml += permission_text(sub_permission);
-	    })
-	    permhtml += "</div></div>";
-	} else {
-	    //console.log(permission);
-	    permhtml += "Unknown syntax!";
-	}
-
-	return permhtml;
-    };
-
-    var render_docu = function(data) {
-	var md = data.info;
-
-	// console.dir(data);
-
-	var items = [];
-
-	var clicmdhash = {
-	    GET: 'get',
-	    POST: 'create',
-	    PUT: 'set',
-	    DELETE: 'delete'
-	};
-
-	Ext.Array.each(['GET', 'POST', 'PUT', 'DELETE'], function(method) {
-	    var info = md[method];
-	    if (info) {
-
-		var usage = "";
-
-		usage += "<table><tr><td>HTTP:&nbsp;&nbsp;&nbsp;</td><td>"
-		    + method + " " + real_path("/api2/json" + data.path) + "</td></tr>";
-
-		var sections = [
-		    {
-			title: 'Description',
-			html: Ext.htmlEncode(info.description),
-			bodyPadding: 10
-		    },
-		    {
-			title: 'Usage',
-			html: usage,
-			bodyPadding: 10
-		    }
-		];
-
-		if (info.parameters && info.parameters.properties) {
-
-		    var pstore = Ext.create('Ext.data.Store', {
-			model: 'pve-param-schema',
-			proxy: {
-			    type: 'memory'
-			},
-			groupField: 'optional',
-			sorters: [
-			    {
-				property: 'name',
-				direction: 'ASC'
-			    }
-			]
-		    });
-
-		    Ext.Object.each(info.parameters.properties, function(name, pdef) {
-			pdef.name = name;
-			pstore.add(pdef);
-		    });
-
-		    pstore.sort();
-
-		    var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
-			enableGroupingMenu: false,
-			groupHeaderTpl: '<tpl if="groupValue">Optional</tpl><tpl if="!groupValue">Required</tpl>'
-		    });
-
-		    sections.push({
-			xtype: 'gridpanel',
-			title: 'Parameters',
-			features: [groupingFeature],
-			store: pstore,
-			viewConfig: {
-			    trackOver: false,
-			    stripeRows: true
-			},
-			columns: [
-			    {
-				header: '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: 2
-			    },
-			    {
-				header: 'Description',
-				dataIndex: 'description',
-				renderer: render_description,
-				flex: 6
-			    }
-			]
-		    });
-
-		}
-
-		if (info.returns) {
-
-		    var retinf = info.returns;
-		    var rtype = retinf.type;
-		    if (!rtype && retinf.items)
-			rtype = 'array';
-		    if (!rtype)
-			rtype = 'object';
-
-		    var rpstore = Ext.create('Ext.data.Store', {
-			model: 'pve-param-schema',
-			proxy: {
-			    type: 'memory'
-			},
-			groupField: 'optional',
-			sorters: [
-			    {
-				property: 'name',
-				direction: 'ASC'
-			   }
-			]
-		    });
-
-		    var properties;
-		    if (rtype === 'array' && retinf.items.properties) {
-			properties = retinf.items.properties;
-		    }
-
-		    if (rtype === 'object' && retinf.properties) {
-			properties = retinf.properties;
-		    }
-
-		    Ext.Object.each(properties, function(name, pdef) {
-			pdef.name = name;
-			rpstore.add(pdef);
-		    });
-
-		    rpstore.sort();
-
-		    var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{
-			enableGroupingMenu: false,
-			groupHeaderTpl: '<tpl if="groupValue">Optional</tpl><tpl if="!groupValue">Obligatory</tpl>'
-		    });
-		    var returnhtml;
-		    if (retinf.items) {
-			returnhtml = '<pre>items: ' + Ext.htmlEncode(JSON.stringify(retinf.items, null, 4)) + '</pre>';
-		    }
-
-		    if (retinf.properties) {
-			returnhtml = returnhtml || '';
-			returnhtml += '<pre>properties:' + Ext.htmlEncode(JSON.stringify(retinf.properties, null, 4)) + '</pre>';
-		    }
-
-		    var rawSection = Ext.create('Ext.panel.Panel', {
-			bodyPadding: '0px 10px 10px 10px',
-			html: returnhtml,
-			hidden: true
-		    });
-
-		    sections.push({
-			xtype: 'gridpanel',
-			title: 'Returns: ' + rtype,
-			features: [groupingFeature],
-			store: rpstore,
-			viewConfig: {
-			    trackOver: false,
-			    stripeRows: true
-			},
-		    columns: [
-			{
-			    header: '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: 2
-			},
-			{
-			    header: 'Description',
-			    dataIndex: 'description',
-			    renderer: render_description,
-			    flex: 6
-			}
-		    ],
-		    bbar: [
-			{
-			    xtype: 'button',
-			    text: 'Show RAW',
-			    handler: function(btn) {
-				rawSection.setVisible(!rawSection.isVisible());
-				btn.setText(rawSection.isVisible() ? 'Hide RAW' : 'Show RAW');
-			    }}
-		    ]
-		});
-
-		sections.push(rawSection);
-
-
-		}
-
-		if (!data.path.match(/\/_upgrade_/)) {
-		    var permhtml = '';
-
-		    if (!info.permissions) {
-			permhtml = "Root only.";
-		    } else {
-			if (info.permissions.description) {
-			    permhtml += "<div style='white-space:pre-wrap;padding-bottom:10px;'>" +
-				Ext.htmlEncode(info.permissions.description) + "</div>";
-			}
-			permhtml += permission_text(info.permissions);
-		    }
-
-		    // we do not have this information for PBS api
-		    //if (!info.allowtoken) {
-		    //    permhtml += "<br />This API endpoint is not available for API tokens."
-		    //}
-
-		    sections.push({
-			title: 'Required permissions',
-			bodyPadding: 10,
-			html: permhtml
-		    });
-		}
-
-		items.push({
-		    title: method,
-		    autoScroll: true,
-		    defaults: {
-			border: false
-		    },
-		    items: sections
-		});
-	    }
-	});
-
-	var ct = Ext.getCmp('docview');
-	ct.setTitle("Path: " +  real_path(data.path));
-	ct.removeAll(true);
-	ct.add(items);
-	ct.setActiveTab(0);
-    };
-
-    Ext.define('Ext.form.SearchField', {
-	extend: 'Ext.form.field.Text',
-	alias: 'widget.searchfield',
-
-	emptyText: 'Search...',
-
-	flex: 1,
-
-	inputType: 'search',
-	listeners: {
-	    'change': function(){
-
-		var value = this.getValue();
-		if (!Ext.isEmpty(value)) {
-		    store.filter({
-			property: 'path',
-			value: value,
-			anyMatch: true
-		    });
-		} else {
-		    store.clearFilter();
-		}
-	    }
-	}
-    });
-
-    var tree = Ext.create('Ext.tree.Panel', {
-	title: 'Resource Tree',
-	tbar: [
-	    {
-		xtype: 'searchfield',
-	    }
-	],
-	tools: [
-	    {
-		type: 'expand',
-		tooltip: 'Expand all',
-		tooltipType: 'title',
-		callback: (tree) => tree.expandAll(),
-	    },
-	    {
-		type: 'collapse',
-		tooltip: 'Collapse all',
-		tooltipType: 'title',
-		callback: (tree) => tree.collapseAll(),
-	    },
-	],
-        store: store,
-	width: 200,
-        region: 'west',
-        split: true,
-        margins: '5 0 5 5',
-        rootVisible: false,
-	listeners: {
-	    selectionchange: function(v, selections) {
-		if (!selections[0])
-		    return;
-		var rec = selections[0];
-		render_docu(rec.data);
-		location.hash = '#' + rec.data.path;
-	    }
-	}
-    });
-
-    Ext.create('Ext.container.Viewport', {
-	layout: 'border',
-	renderTo: Ext.getBody(),
-	items: [
-	    tree,
-	    {
-		xtype: 'tabpanel',
-		title: 'Documentation',
-		id: 'docview',
-		region: 'center',
-		margins: '5 5 5 0',
-		layout: 'fit',
-		items: []
-	    }
-	]
-    });
-
-    var deepLink = function() {
-	var path = window.location.hash.substring(1).replace(/\/\s*$/, '')
-	var endpoint = store.findNode('path', path);
-
-	if (endpoint) {
-	    tree.getSelectionModel().select(endpoint);
-	    tree.expandPath(endpoint.getPath());
-	    render_docu(endpoint.data);
-	}
-    }
-    window.onhashchange = deepLink;
-
-    deepLink();
-
-});
diff --git a/src/bin/docgen.rs b/src/bin/docgen.rs
index 9df9f33b..4df55f48 100644
--- a/src/bin/docgen.rs
+++ b/src/bin/docgen.rs
@@ -92,7 +92,7 @@ fn generate_api_tree() -> String {
     data["text"] = "Restore API (HTTP/2)".into();
     tree.push(data);
 
-    format!("var pbsapi = {};", serde_json::to_string_pretty(&tree).unwrap())
+    format!("var pmxapi = {};", serde_json::to_string_pretty(&tree).unwrap())
 }
 
 pub fn dump_schema(schema: &Schema) -> Value {
-- 
2.20.1





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-28 12:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-28 12:17 [pbs-devel] [PATCH proxmox-backup 0/4] use proxmox-widget-toolkit-dev for -docs Dominik Csapak
2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 1/4] docs/prune-simulator: remove displayField for Calendar Field Dominik Csapak
2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 2/4] docs: add Toolkit.js to prune simulator Dominik Csapak
2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 3/4] docs: add Toolkit.js to lto-barcode Dominik Csapak
2021-05-28 12:17 ` [pbs-devel] [PATCH proxmox-backup 4/4] docs: build api-viewer from widget-toolkit-dev Dominik Csapak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal