[pve-devel] [PATCH v2 docs 1/2] apiviewer: add api endpoint deeplink ability

Tim Marx t.marx at proxmox.com
Wed Dec 11 12:58:22 CET 2019


use #/<endpoint> to deeplink to a specific endpoint

Signed-off-by: Tim Marx <t.marx at proxmox.com>
---
changes v2:
* update hash part on treenode selection
* deepLink should work on subsequent url changes

 api-viewer/PVEAPI.js | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/api-viewer/PVEAPI.js b/api-viewer/PVEAPI.js
index d0da407..dd36fff 100644
--- a/api-viewer/PVEAPI.js
+++ b/api-viewer/PVEAPI.js
@@ -368,6 +368,7 @@ Ext.onReady(function() {
 		    return;
 		var rec = selections[0];
 		render_docu(rec.data);
+		location.hash = '#' + rec.data.path;
 	    }
 	}
     });
@@ -389,4 +390,18 @@ Ext.onReady(function() {
 	]
     });

+    var deepLink = function() {
+	var path = window.location.hash.substring(1);
+	var endpoint = store.findNode('path', path);
+
+	if (endpoint) {
+	    tree.getSelectionModel().select(endpoint);
+	    tree.expandPath(endpoint.getPath());
+	    render_docu(endpoint.data);
+	}
+    }
+    window.onhashchange = deepLink;
+
+    deepLink();
+
 });
--
2.20.1




More information about the pve-devel mailing list