root / templates / munstrap4 / templates / partial / head.tmpl @ bc2dc914
Historique | Voir | Annoter | Télécharger (9,95 ko)
| 1 |
<!DOCTYPE html> |
|---|---|
| 2 |
<html lang="en"> |
| 3 |
|
| 4 |
<!-- |
| 5 |
File: partial/head.tmpl |
| 6 |
|
| 7 |
Used: All views, called before anything else |
| 8 |
--> |
| 9 |
|
| 10 |
<head> |
| 11 |
<title> |
| 12 |
<TMPL_IF NAME="NAME"><TMPL_VAR ESCAPE="HTML" NAME="NAME"> (</TMPL_IF>Munin<TMPL_LOOP NAME="PATH"><TMPL_IF NAME="pathname"> :: <TMPL_VAR ESCAPE="HTML" NAME="pathname"></TMPL_IF></TMPL_LOOP><TMPL_IF NAME="NAME">)</TMPL_IF> |
| 13 |
</title> |
| 14 |
<meta charset="utf-8"> |
| 15 |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 16 |
<meta name="description" content=""> |
| 17 |
<meta name="author" content="Auto-generated by Munin"> |
| 18 |
<TMPL_UNLESS NAME="SHOW_ZOOM_JS"> |
| 19 |
<meta http-equiv="refresh" content="300" /> |
| 20 |
</TMPL_UNLESS> |
| 21 |
<link rel="shortcut icon" type="image/x-icon" href="<TMPL_VAR NAME='R_PATH' />/static/img/favicon.ico" /> |
| 22 |
<link rel="icon" type="image/png" href="<TMPL_VAR NAME='R_PATH' />/static/img/favicon.png" /> |
| 23 |
<link href="<TMPL_VAR NAME='R_PATH' />/static/css/bootstrap4.min.css" rel="stylesheet" /> |
| 24 |
<link href="<TMPL_VAR NAME='R_PATH' />/static/css/style-munstrap.min.css" rel="stylesheet" /> |
| 25 |
|
| 26 |
<script src="<TMPL_VAR NAME='R_PATH' />/static/js/jquery.min.js"></script> |
| 27 |
<script src="<TMPL_VAR NAME='R_PATH' />/static/js/lazysizes.min.js" async></script> |
| 28 |
<script src="<TMPL_VAR NAME='R_PATH' />/static/js/bootstrap4.min.js"></script> |
| 29 |
<script src="<TMPL_VAR NAME='R_PATH' />/static/js/typeahead.bundle.min.js"></script> |
| 30 |
<script> |
| 31 |
// This is used to build the navigation quick search - there is no backend, so we have to do |
| 32 |
// it all client side. |
| 33 |
// |
| 34 |
// As a curious side note, commenting out the template loops and whatnot allows vscode to parse |
| 35 |
// the javascript - so please note that the commented out TMPL directives STILL FUNCTION. |
| 36 |
var gen_basegroups = {
|
| 37 |
// <TMPL_LOOP NAME="ROOTGROUPS"> |
| 38 |
"<TMPL_VAR NAME='NAME' />" : {
|
| 39 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URL'>", |
| 40 |
"compare" : {
|
| 41 |
// <TMPL_IF NAME="COMPARE"> |
| 42 |
"Day" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_LOOP NAME='PATH' /><TMPL_IF NAME='pathname'><TMPL_VAR ESCAPE='URL' NAME='PATHNAME' />/</TMPL_IF></TMPL_LOOP>comparison-day.html", |
| 43 |
"Week" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_LOOP NAME='PATH' /><TMPL_IF NAME='pathname'><TMPL_VAR ESCAPE='URL' NAME='PATHNAME' />/</TMPL_IF></TMPL_LOOP>comparison-week.html", |
| 44 |
"Month" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_LOOP NAME='PATH' /><TMPL_IF NAME='pathname'><TMPL_VAR ESCAPE='URL' NAME='PATHNAME' />/</TMPL_IF></TMPL_LOOP>comparison-month.html", |
| 45 |
"Year" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_LOOP NAME='PATH' /><TMPL_IF NAME='pathname'><TMPL_VAR ESCAPE='URL' NAME='PATHNAME' />/</TMPL_IF></TMPL_LOOP>comparison-year.html" |
| 46 |
// </TMPL_IF> |
| 47 |
} |
| 48 |
}, |
| 49 |
// </TMPL_LOOP> |
| 50 |
}; |
| 51 |
var gen_hosts = {
|
| 52 |
// <TMPL_LOOP NAME="ROOTGROUPS"> |
| 53 |
// <TMPL_LOOP NAME="GROUPS"> |
| 54 |
// <TMPL_IF NAME="NCATEGORIES"> |
| 55 |
"<TMPL_VAR ESCAPE='HTML' NAME='NAME' />" : {
|
| 56 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URL'>", |
| 57 |
"services" : {
|
| 58 |
// <TMPL_LOOP NAME="CATEGORIES"> |
| 59 |
"<TMPL_VAR ESCAPE='HTML' NAME='NAME' />" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URL' />", |
| 60 |
// </TMPL_LOOP> |
| 61 |
} |
| 62 |
}, |
| 63 |
// </TMPL_IF> |
| 64 |
// </TMPL_LOOP> |
| 65 |
// </TMPL_LOOP> |
| 66 |
}; |
| 67 |
var gen_cats = {
|
| 68 |
// <TMPL_LOOP NAME="GLOBALCATS"> |
| 69 |
"Category :: <TMPL_VAR NAME='NAME'> :: Day" : {
|
| 70 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLDAY'>" |
| 71 |
}, |
| 72 |
"Category :: <TMPL_VAR NAME='NAME'> :: Week" : {
|
| 73 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLWEEK'>" |
| 74 |
}, |
| 75 |
"Category :: <TMPL_VAR NAME='NAME'> :: Month" : {
|
| 76 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLMONTH'>" |
| 77 |
}, |
| 78 |
"Category :: <TMPL_VAR NAME='NAME'> :: Year" : {
|
| 79 |
"baseurl" : "<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLYEAR'>" |
| 80 |
}, |
| 81 |
// </TMPL_LOOP> |
| 82 |
}; |
| 83 |
|
| 84 |
function absolute(base, relative) {
|
| 85 |
var stack = base.split("/"),
|
| 86 |
parts = relative.split("/");
|
| 87 |
|
| 88 |
stack.pop(); // remove current file name (or empty string) |
| 89 |
|
| 90 |
// (omit if "base" is the current folder without trailing slash) |
| 91 |
|
| 92 |
for (var i=0; i<parts.length; i++) {
|
| 93 |
if (parts[i] == ".") { continue; }
|
| 94 |
|
| 95 |
if (parts[i] == "..") {
|
| 96 |
stack.pop(); |
| 97 |
} else {
|
| 98 |
stack.push(parts[i]); |
| 99 |
} |
| 100 |
} |
| 101 |
return stack.join("/");
|
| 102 |
} |
| 103 |
|
| 104 |
var navMap = []; |
| 105 |
|
| 106 |
$.each(gen_cats, function(name, obby) {
|
| 107 |
navMap.push( { "name" : name, "link" : absolute(location.href, obby.baseurl) } );
|
| 108 |
}); |
| 109 |
|
| 110 |
$.each(gen_hosts, function(name, obby) {
|
| 111 |
var host_name = name; |
| 112 |
navMap.push( { "name" : "Host :: " + name, "link" : absolute(location.href, obby.baseurl) });
|
| 113 |
$.each(obby.services, function(svcname, url){
|
| 114 |
navMap.push( { "name" : "Service :: " + host_name + " :: " + svcname, "link" : absolute(location.href, url) });
|
| 115 |
}); |
| 116 |
}); |
| 117 |
|
| 118 |
$.each(gen_basegroups, function(name, obby) {
|
| 119 |
var host_name = name; |
| 120 |
navMap.push( { "name" : "Host :: " + name, "link" : absolute(location.href, obby.baseurl) });
|
| 121 |
$.each(obby.compare, function(svcname, url){
|
| 122 |
navMap.push( { "name" : "Compare :: " + host_name + " :: " + svcname, "link" : absolute(location.href, url) });
|
| 123 |
}); |
| 124 |
}); |
| 125 |
|
| 126 |
var navMapB = new Bloodhound({
|
| 127 |
datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.name); },
|
| 128 |
queryTokenizer: Bloodhound.tokenizers.whitespace, |
| 129 |
identify: function (obj) { return obj.link; },
|
| 130 |
local: navMap |
| 131 |
}); |
| 132 |
|
| 133 |
$(document).ready(function(){
|
| 134 |
$('#findthehost').typeahead({
|
| 135 |
hint: true, |
| 136 |
highlight: true, |
| 137 |
minLength: 2, |
| 138 |
}, |
| 139 |
{
|
| 140 |
name: 'navMap', |
| 141 |
limit: 10, |
| 142 |
display: 'link', |
| 143 |
source: navMapB, |
| 144 |
templates: {
|
| 145 |
suggestion: function (data) {
|
| 146 |
return '<div>' + data.name + '</div>'; |
| 147 |
} |
| 148 |
} |
| 149 |
} |
| 150 |
); |
| 151 |
|
| 152 |
//$('#findthehost').on('typeahead:change',function(){ $('#formy1').submit(); });
|
| 153 |
$('#findthehost').on('typeahead:select',function(){ $('#formy1').submit(); });
|
| 154 |
|
| 155 |
$('#formy1').on('submit', function(){
|
| 156 |
inputVal = $('#findthehost').val();
|
| 157 |
if ( inputVal.substring(0, 4) == "http" ) {
|
| 158 |
window.location.href = inputVal; |
| 159 |
} else {
|
| 160 |
$('#findthehost').typeahead('val', '');
|
| 161 |
} |
| 162 |
return false; |
| 163 |
}); |
| 164 |
}); |
| 165 |
|
| 166 |
</script> |
| 167 |
</head> |
| 168 |
|
| 169 |
<body> |
| 170 |
|
| 171 |
<nav class="navbar navbar-expand-lg navbar-light bg-light mb-3"> |
| 172 |
<a class="navbar-brand" href="<TMPL_VAR NAME='R_PATH' />"><span class="munin-icon"></span> MUNIN</a> |
| 173 |
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
| 174 |
<span class="navbar-toggler-icon"></span> |
| 175 |
</button> |
| 176 |
|
| 177 |
<div class="collapse navbar-collapse" id="navbarSupportedContent"> |
| 178 |
<ul class="navbar-nav mr-auto"> |
| 179 |
<li class="nav-item"> |
| 180 |
<a class="nav-link" href="<TMPL_VAR NAME='R_PATH' />">Home</a> |
| 181 |
</li> |
| 182 |
<li class="nav-item dropdown"> |
| 183 |
<a class="nav-link dropdown-toggle" href="#" id="navbarProblems" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| 184 |
Problems |
| 185 |
</a> |
| 186 |
<div class="dropdown-menu" aria-labelledby="navbarProblems"> |
| 187 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/problems.html#critical"><span class="badge alert-danger mr-2"><TMPL_VAR NAME="NCRITICAL"></span>Critical</a> |
| 188 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/problems.html#warnings"><span class="badge alert-warning mr-2"><TMPL_VAR NAME="NWARNING"></span>Warning</a> |
| 189 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/problems.html#unknowns"><span class="badge alert-info mr-2"><TMPL_VAR NAME="NUNKNOWN"></span>Unknown</a> |
| 190 |
</div> |
| 191 |
</li> |
| 192 |
<li class="nav-item dropdown"> |
| 193 |
<a class="nav-link dropdown-toggle" href="#" id="navbarGroups" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| 194 |
Groups |
| 195 |
</a> |
| 196 |
<div class="dropdown-menu" aria-labelledby="navbarGroups"> |
| 197 |
<TMPL_LOOP NAME="ROOTGROUPS"> |
| 198 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URL'>"><TMPL_VAR NAME="NAME"></a> |
| 199 |
</TMPL_LOOP> |
| 200 |
</div> |
| 201 |
</li> |
| 202 |
<li class="nav-item dropdown"> |
| 203 |
<a class="nav-link dropdown-toggle" href="#" id="navbarHosts" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| 204 |
Hosts |
| 205 |
</a> |
| 206 |
<div class="dropdown-menu" aria-labelledby="navbarHosts"> |
| 207 |
<TMPL_LOOP NAME="ROOTGROUPS"> |
| 208 |
<TMPL_LOOP NAME="GROUPS"> |
| 209 |
<TMPL_IF NAME="NCATEGORIES"> |
| 210 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URL'>"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> |
| 211 |
</TMPL_IF> |
| 212 |
</TMPL_LOOP> |
| 213 |
</TMPL_LOOP> |
| 214 |
</div> |
| 215 |
</li> |
| 216 |
<li class="nav-item dropdown"> |
| 217 |
<a class="nav-link dropdown-toggle" href="#" id="navbarCats" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| 218 |
Categories |
| 219 |
</a> |
| 220 |
<div class="dropdown-menu" aria-labelledby="navbarCats"> |
| 221 |
<TMPL_LOOP NAME="GLOBALCATS"> |
| 222 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLDAY'>"><TMPL_VAR NAME="NAME"> - Day</a> |
| 223 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLWEEK'>"><TMPL_VAR NAME="NAME"> - Week</a> |
| 224 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLMONTH'>"><TMPL_VAR NAME="NAME"> - Month</a> |
| 225 |
<a class="dropdown-item" href="<TMPL_VAR NAME='R_PATH' />/<TMPL_VAR NAME='URLYEAR'>"><TMPL_VAR NAME="NAME"> - Year</a> |
| 226 |
<TMPL_IF NAME="__first__"><div class="dropdown-divider"></div></TMPL_IF> |
| 227 |
<TMPL_IF NAME="__inner__"><div class="dropdown-divider"></div></TMPL_IF> |
| 228 |
</TMPL_LOOP> |
| 229 |
</div> |
| 230 |
</li> |
| 231 |
|
| 232 |
</ul> |
| 233 |
<form id="formy1" class="form-inline my-2 my-lg-0 w-25"> |
| 234 |
<input class="form-control mr-sm-2 w-100" type="text" id="findthehost" placeholder="Host or Service" aria-label="Search"> |
| 235 |
</form> |
| 236 |
</div> |
| 237 |
</nav> |
| 238 |
|
| 239 |
<div class="container"> |
| 240 |
<TMPL_INCLUDE NAME="logo_navigation.tmpl"> |
