On 12/11/19 12:58 PM, Tim Marx wrote:
> use #/<endpoint> to deeplink to a specific endpoint
> 
> Signed-off-by: Tim Marx <t.m...@proxmox.com>
> ---
> changes v2:
> * update hash part on treenode selection
> * deepLink should work on subsequent url changes
> 

applied, thanks! Did small followup, see inline:

>  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);

added a .replace(/\/\s*$/, '') to trim trailing slashes, to make paths
like /access/ work, my firefox autocompletes to trailing slash, so I run
into this fast.

> +     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

_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to