Skip to content

Commit b6a7f1b

Browse files
committed
Added a small search field for upgrades and highstates dashboards
1 parent c6f8cc8 commit b6a7f1b

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

pepperboard/dashboards/highstates.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ def simhighstate(server):
5454
'<script type=\"text/javascript\">\nfunction toggle_hstlist() {\nvar e = document.querySelectorAll (\".hstlist\")\nfor (var i = 0; i < e.length; i++) {\nvar el = e[i];\nif(el.style.display == \'block\')\nel.style.display = \'none\';\nelse\nel.style.display = \'block\';\n}\n}\n</script>')
5555
foutput.write(
5656
'<script type=\"text/javascript\">\nfunction toggle_visibility(id) {\nvar e = document.getElementById(id);\nif(e.style.display == \'block\')\ne.style.display = \'none\';\nelse\ne.style.display = \'block\';\n}\n</script>')
57+
foutput.write(
58+
'<script>\nfunction search() {\nvar input, filter, table, tr, td, i;\ninput = document.getElementById(\"searchfield\");\nfilter = input.value.toUpperCase();\ntable = document.getElementById(\"results\");\ntr = table.getElementsByTagName(\"tr\");\nfor (i = 0; i < tr.length; i++) {\ntd = tr[i].getElementsByTagName(\"td\")[0];\nif (td) {\nif (td.innerHTML.toUpperCase().indexOf(filter) > -1) {\ntr[i].style.display = \"\";\n} else {\ntr[i].style.display = \"none\";\n}\n}\n}\n}\n</script>'
59+
)
5760
foutput.write('<script src=\"//www.kryogenix.org/code/browser/sorttable/sorttable.js\"></script>')
5861
foutput.write('<style>table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort):after {content: \" \\25B4\\25BE\"}')
5962
for os, logo in core.logos.iteritems():
@@ -71,7 +74,10 @@ def simhighstate(server):
7174
foutput.write('All servers are in good state.<br/>')
7275
else:
7376
foutput.write(
74-
'<a href = \"javascript:void(0);\" onclick=\"toggle_hstlist();\" style=\"color: #737373\">Toogle all lists</a></div><table class=\"pure-table pure-table-bordered sortable\"><thead><tr><th>Host</th><th class=\"sorttable_numeric\">States to be changed in a state.highstate</th></tr></thead><tbody>\n')
77+
'<a href = \"javascript:void(0);\" onclick=\"toggle_hstlist();\" style=\"color: #737373\">Toogle all lists</a>'
78+
)
79+
foutput.write('</br><input type=\"text\" id=\"searchfield\" onkeyup=\"search()\" placeholder=\"Search for hostnames...\">')
80+
foutput.write('</div><table id=\"results\" class=\"pure-table pure-table-bordered sortable\"><thead><tr><th>Host</th><th class=\"sorttable_numeric\">States to be changed in a state.highstate</th></tr></thead><tbody>\n')
7581
resultod = collections.OrderedDict(sorted(result.items()))
7682
for s in resultod:
7783
foutput.write(resultod[s])

pepperboard/dashboards/upgrades.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ def checkupdates(server):
5050
'<script type=\"text/javascript\">\nfunction toggle_pkglist() {\nvar e = document.querySelectorAll (\".pkglist\")\nfor (var i = 0; i < e.length; i++) {\nvar el = e[i];\nif(el.style.display == \'block\')\nel.style.display = \'none\';\nelse\nel.style.display = \'block\';\n}\n}\n</script>')
5151
foutput.write(
5252
'<script type=\"text/javascript\">\nfunction toggle_visibility(id) {\nvar e = document.getElementById(id);\nif(e.style.display == \'block\')\ne.style.display = \'none\';\nelse\ne.style.display = \'block\';\n}\n</script>')
53+
foutput.write(
54+
'<script>\nfunction search() {\nvar input, filter, table, tr, td, i;\ninput = document.getElementById(\"searchfield\");\nfilter = input.value.toUpperCase();\ntable = document.getElementById(\"results\");\ntr = table.getElementsByTagName(\"tr\");\nfor (i = 0; i < tr.length; i++) {\ntd = tr[i].getElementsByTagName(\"td\")[0];\nif (td) {\nif (td.innerHTML.toUpperCase().indexOf(filter) > -1) {\ntr[i].style.display = \"\";\n} else {\ntr[i].style.display = \"none\";\n}\n}\n}\n}\n</script>'
55+
)
5356
foutput.write('<script src=\"//www.kryogenix.org/code/browser/sorttable/sorttable.js\"></script>')
5457
foutput.write('<style>table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort):after {content: \" \\25B4\\25BE\"}')
5558
for os, logo in core.logos.iteritems():
@@ -67,7 +70,10 @@ def checkupdates(server):
6770
foutput.write('All servers are up-to-date.<br/>')
6871
else:
6972
foutput.write(
70-
'<a href = \"javascript:void(0);\" onclick=\"toggle_pkglist();\" style=\"color: #737373\">Toogle all lists</a></div><table class=\"pure-table pure-table-bordered sortable\"><thead><tr><th>Host</th><th class=\"sorttable_numeric\">Upgrades summary</th></tr></thead><tbody>\n')
73+
'<a href = \"javascript:void(0);\" onclick=\"toggle_pkglist();\" style=\"color: #737373\">Toogle all lists</a>'
74+
)
75+
foutput.write('</br><input type=\"text\" id=\"searchfield\" onkeyup=\"search()\" placeholder=\"Search for hostnames...\">')
76+
foutput.write('</div><table id=\"results\" class=\"pure-table pure-table-bordered sortable\"><thead><tr><th>Host</th><th class=\"sorttable_numeric\">Upgrades summary</th></tr></thead><tbody>\n')
7177
resultod = collections.OrderedDict(sorted(result.items()))
7278
for s in resultod:
7379
foutput.write(resultod[s])

0 commit comments

Comments
 (0)