Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

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