about summary refs log tree commit diff
path: root/bundles/prometheus/files/console_libraries/menu.lib
blob: dc87f9fbedbc27de99fde717c25f600a8e938ce9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{{/* vim: set ft=html: */}}

{{/* Navbar, should be passed . */}}
{{ define "navbar" }}
<nav class="navbar fixed-top navbar-expand-sm navbar-dark bg-dark">
  <div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
        aria-expanded="false" aria-controls="navbar-nav" aria-label="toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <a class="navbar-brand" href="{{ pathPrefix }}/">Prometheus</a>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li class="nav-item"><a class="nav-link" href="{{ pathPrefix }}/alerts">Alerts</a></li>
      </ul>
    </div>
  </div>
</nav>
{{ end }}

{{/* LHS menu, should be passed . */}}
{{ define "menu" }}
<div class="prom_lhs_menu row">
  <nav class="col-md-2 md-block bg-dark sidebar prom_lhs_menu_nav">
    <div class="sidebar-sticky">
      <ul class="nav flex-column">

        {{ template "_menuItem" (args . "index.html" "Overview") }}

        {{ $ctx := . }}

        {{ range query "up{job='node-exporter'}" | sortByLabel "instance" }}
        {{ $instance := .Labels.instance }}
        <ul>
          {{ template "_menuItem" (args $ctx (printf "node-overview.html?instance=%v" $instance) $instance) }}
          <ul>
            {{ template "_menuItem" (args $ctx (printf "node-cpu.html?instance=%v" $instance) "CPU") }}
            {{ template "_menuItem" (args $ctx (printf "node-disk.html?instance=%v" $instance) "Disk") }}
          </ul>
        </ul>
        {{ end }}

        {{/* XXX: there is only one prometheus instance in my setup */}}
        {{ with query "up{job='prometheus'}" | first }}
        {{ template "_menuItem" (args $ctx (printf "prometheus-overview.html?instance=%v" .Labels.instance) "Prometheus") }}
        {{ end }}

      </ul>
    </div>
  </nav>
</div>
{{ end }}

{{/* Helper, pass (args . path name) */}}
{{ define "_menuItem" }}
{{ $pagelink := .arg0.Path }}
{{ if .arg0.Params.instance }}{{ $pagelink = (printf "%v?instance=%v" .arg0.Path .arg0.Params.instance) }}{{ end }}
<li class="{{ if eq $pagelink .arg1 }}prom_lhs_menu_selected {{ end }}nav-item"><a class="nav-link"
    href="{{ .arg1 }}">{{ .arg2 }}</a></li>
{{ end }}