]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: sidebar tree should match current selection
authorJason Dillaman <dillaman@redhat.com>
Mon, 10 Jul 2017 19:05:32 +0000 (15:05 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 18 Jul 2017 14:47:49 +0000 (10:47 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/pybind/mgr/dashboard/base.html
src/pybind/mgr/dashboard/module.py

index 6a67410e0deff9d7c3276e92244d4684e9ef15b8..27a74241aa46be71436d89ca51e4fe6b6970654a 100644 (file)
       <!-- Sidebar Menu -->
       <ul class="sidebar-menu">
         <!-- Optionally, you can add icons to the links -->
-        <li><a href="/health">
+        <li class="{%if path_info=='/' or path_info.startswith('/health')%}active{%endif%}">
+            <a href="/health">
             <i class="fa fa-heartbeat" rv-style="health_status | health_color"></i>
             <span>Cluster health</span></a>
         </li>
-        <li class="treeview active">
+        PATH: {{ path_info }}
+        <li class="treeview{%if path_info.startswith(('/server', '/osd'))%} active{%endif%}">
           <a href="#"><i class="fa fa-server"></i> <span>Cluster</span>
             <span class="pull-right-container">
               <i class="fa fa-angle-left pull-right"></i>
             </li>
           </ul>
         </li>
-        <li class="treeview active">
+        <li class="treeview{%if path_info.startswith('/rbd')%} active{%endif%}">
           <a href="#"><i class="fa fa-hdd-o"></i> <span>Block</span>
             <span class="pull-right-container">
               <i class="fa fa-angle-left pull-right"></i>
             <li class="ceph-none-found" rv-hide="rbd_pools | length">None found</li>
           </ul>
         </li>
-        <li class="treeview active">
+        <li class="treeview{%if path_info.startswith(('/filesystem/', '/clients/'))%} active{%endif%}">
           <a href="#"><i class="fa fa-folder"></i> <span>Filesystems</span>
             <span class="pull-right-container">
               <i class="fa fa-angle-left pull-right"></i>
index 42f62a8c8af8d5d4291a9715b73a5cc911f54cb6..85412a32cf0b6dc44db861da0a644efbec15b4d3 100644 (file)
@@ -467,6 +467,7 @@ class Module(MgrModule):
 
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info=cherrypy.request.path_info,
                     toplevel_data=json.dumps(toplevel_data, indent=2),
                     content_data=json.dumps(content_data, indent=2)
                 )
@@ -534,6 +535,7 @@ class Module(MgrModule):
                 template = env.get_template("clients.html")
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info=cherrypy.request.path_info,
                     toplevel_data=json.dumps(self._toplevel_data(), indent=2),
                     content_data=json.dumps(content_data, indent=2)
                 )
@@ -577,6 +579,7 @@ class Module(MgrModule):
 
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info=cherrypy.request.path_info,
                     toplevel_data=json.dumps(toplevel_data, indent=2),
                     content_data=json.dumps(content_data, indent=2)
                 )
@@ -591,6 +594,7 @@ class Module(MgrModule):
                 template = env.get_template("health.html")
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info=cherrypy.request.path_info,
                     toplevel_data=json.dumps(self._toplevel_data(), indent=2),
                     content_data=json.dumps(self._health(), indent=2)
                 )
@@ -600,6 +604,7 @@ class Module(MgrModule):
                 template = env.get_template("servers.html")
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info=cherrypy.request.path_info,
                     toplevel_data=json.dumps(self._toplevel_data(), indent=2),
                     content_data=json.dumps(self._servers(), indent=2)
                 )
@@ -792,6 +797,7 @@ class Module(MgrModule):
 
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info='/osd' + cherrypy.request.path_info,
                     toplevel_data=json.dumps(toplevel_data, indent=2),
                     content_data=json.dumps(self._osd(osd_id), indent=2)
                 )
@@ -885,6 +891,7 @@ class Module(MgrModule):
 
                 return template.render(
                     ceph_version=global_instance().version,
+                    path_info='/osd' + cherrypy.request.path_info,
                     toplevel_data=json.dumps(toplevel_data, indent=2),
                     content_data=json.dumps(content_data, indent=2)
                 )