Change design
pull/19/head
Aidaho12 2018-03-26 14:52:28 +06:00
parent 47ff08e6ea
commit 649f28f998
16 changed files with 94 additions and 56 deletions

View File

@ -23,6 +23,7 @@ print('<center>'
'<td class="padding10">Server</td>'
'<td>Disable/Enable server or output any information</td>'
'<td class="padding10">Command</td>'
'<td></td>'
'</tr>'
'<tr>'
'<td class="padding10" style="width: 35%;">'
@ -61,9 +62,7 @@ print('<option value=3 %s>Show</option>' % selected3)
print('</select></td>')
print('<td><input type="text" name="servbackend" size=35 title="Frontend, backend/server, show: info, pools or help" required class="form-control">')
print('</td></tr>'
'<tr style="border:none;">'
'<td></td><td class="padding10" style="border:none; padding-left: 12%;">')
print('</td><td>')
funct.mode_admin("Enter")
print('</td></form>'
'</tr></table>')

View File

@ -152,26 +152,40 @@ def head(title):
'</head>'
'<body>'
'<a name="top"></a>'
'<div class="show_menu" style="display: none;">'
'<a href="#" id="show_menu" title="Show menu" style="margin-top: 40px;position: absolute;">'
'<span class="ui-state-default ui-corner-all">'
'<span class="ui-icon ui-icon-arrowthick-1-e" id="arrow"></span>'
'</span>'
'</a>'
'</div>'
'<div class="top-menu">'
'<span class="LogoText">HAproxy-WI</span>')
'<div class="LogoText">'
'<span style="padding-left: 20px;">HAproxy-WI</span>'
'<a href="#" id="hide_menu" title="Hide menu" style="margin-left: 35%;margin-top: 40px;position: absolute;">'
'<span class="ui-state-default ui-corner-all">'
'<span class="ui-icon ui-icon-arrowthick-1-w" id="arrow"></span>'
'</span>'
'</a>'
'</div>')
if config.get('main', 'logo_enable') == "1":
print('<img src="%s" title="Logo" class="logo">' % config.get('main', 'logo_path'))
print('<div><img src="%s" title="Logo" class="logo"></div>' % config.get('main', 'logo_path'))
print('<div class="top-link">')
links()
print('</div></div><div class="conteiner">')
print('</div></div><div class="container">')
def footer():
print('</center></div>'
'<center>'
'<center style="margin-left: 12%;">'
'<h3>'
'<a class="ui-button ui-widget ui-corner-all" href="#top" title="Move up">UP</a>'
'</h3><br />'
'</center>'
'<div class="footer">'
'<!--<div class="footer">'
'<div class="footer-link">'
'<span class="LogoText">HAproxy-WI</span>'
'</div>'
'</div></body></html>')
'</div></body></html>-->')
def ssh_connect(serv):
ssh = SSHClient()

View File

@ -93,6 +93,9 @@ for i in sorted(listhap):
print('</table><table class="overview"><tr class="overviewHead">'
'<td class="padding10">Server</td>'
'<td class="padding10">'
'HAproxy info'
'</td>'
'<td>'
'Server status'
'<span style="float: right; margin-left: 80&;">'
'<a href="" title="Update status" id="update">'
@ -105,13 +108,15 @@ print('</td></tr>')
commands = [ "cat " + haproxy_config_path + " |grep -E '^listen|^backend|^frontend' |grep -v stats |wc -l",
"uname -smor",
"haproxy -v |head -1",
status_command + "|grep Active | sed 's/^[ \t]*//'",
"top -u haproxy -b -n 1" ]
status_command + "|grep Active | sed 's/^[ \t]*//'" ]
commands1 = [ "top -u haproxy -b -n 1" ]
for i in sorted(listhap):
print('<tr><td class="overviewTr"><a name="'+i+'"></a><h3 title="IP ' + listhap.get(i) + '">' + i + ':</h3></td>')
print('<td class="overviewTd"><span style="margin-left: -10px;">Total listen/frontend/backend:</span><pre>')
funct.ssh_command(listhap.get(i), commands)
print('</pre></td><td class="overviewTd"><pre>')
funct.ssh_command(listhap.get(i), commands1)
print('</pre></td></tr>')
print('<tr></table>')
funct.footer()

View File

@ -48,7 +48,7 @@ for i in listhap.listhap:
if listhap.listhap.get(i) == serv:
servname = i
print('<br /><br /><h3 style="padding-left: 20px; margin-top: 20px;">Choose server!</h3><br />'
print('<div class="container"><h3 style="padding-left: 20px; margin-top: 20px;">Choose server!</h3><br />'
'<form style="padding-left: 20px;" action="viewsttats.py" method="get">'
'<select autofocus required name="serv">'
'<option disabled>Choose server</option>')
@ -61,4 +61,5 @@ data = response.content
print('<a name="conf"></a>')
print(data.decode('utf-8'))
funct.head("Stats HAproxy configs")
print('<style>.conteiner{display:none}</style>')
print('</div>')
#print('<style>.container{display:none}</style>')

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 874 KiB

After

Width:  |  Height:  |  Size: 841 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 KiB

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 KiB

After

Width:  |  Height:  |  Size: 590 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 272 KiB

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 KiB

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

View File

@ -24,7 +24,7 @@
<a href="cgi-bin/configver.py" title="Upload old config">Upload old config</a> <br />
<a href="cgi-bin/delver.py" title="Upload old config">Delete old config</a> <br />
<div class="copyright">
HAproxy Web Interface v1.8.1
HAproxy Web Interface v1.9
</div>
</div>
</body>

View File

@ -175,6 +175,20 @@ $( function() {
$( "#rise-backend" ).selectmenu( "option", "disabled", true );
}
});
$( "#hide_menu" ).click(function() {
if ($(".top_menu").css("display", "block")) {
$(".top-menu").hide( "drop", "slow" );
$(".container").css("max-width", "98%");
$(".container").css("margin-left", "1%");
$(".show_menu").show();
}
});
$( "#show_menu" ).click(function() {
$(".top-menu").show( "drop", "slow" );
$(".container").css("max-width", "88%");
$(".container").css("margin-left", "12%");
$(".show_menu").hide();
});
var availableTags = [
"acl", "http-request", "http-response", "set-uri", "set-url", "set-header", "add-header", "del-header", "replace-header", "path_beg", "url_beg()", "urlp_sub()", "tcpka", "tcplog", "forwardfor", "option"

View File

@ -13,7 +13,7 @@ body {
h2 {
background: #5D9CEB;
border: 1px solid #5D9CEB;
border-radius: 5px 5px 0px 0px;
//border-radius: 5px 5px 0px 0px;
padding: 10px;
padding-left: 3%;
color: #fff;
@ -35,14 +35,18 @@ iframe {
margin-left: 2px;
}
.top-menu {
box-shadow: 1px 1px 5px grey;
min-height: 50px;
//border-radius: 5px;
//box-shadow: 1px 1px 5px grey;
position: fixed;
height: 100%;
width: 12%;
float: left;
margin-bottom: 20px;
top: 0;
position: fixed;
right: 0;
left: 0;
z-index: 1000;
display: block;
}
.top-menu, .footer {
background-color: #33414E;
@ -50,11 +54,10 @@ iframe {
.logoText {
color: #EBF1F1;
font-size: 30px;
float: left;
margin-left: 50px;
margin-top: 3px;
font-style: italic;
font-weight: bold;
height: 52px;
background-color: #f2ae72;
}
.top-menu img {
max-width: 125px;
@ -67,25 +70,25 @@ iframe {
padding-left: 7px;
padding-right: 7px;
}
.top-link {
margin-top: 15px;
/*.top-link {
margin-top: 115px;
}
.top-link {
margin-left: 28%;
}
}*/
.footer-link {
margin-left: 44%;
}
.conteiner {
box-shadow: 1px 1px 5px grey;
border-radius: 5px;
clear: both;
margin-top: 65px;
.container {
//box-shadow: 1px 1px 5px grey;
//border-radius: 5px;
//margin-top: 65px;
min-height: calc(100vh - 115px);
max-width: 50%;
max-width: 88%;
min-width: 40%;
background-color: #fff;
margin-left: 25%;
margin-left: 12%;
}
.configShow, .diff {
margin-left: 16%;
@ -207,7 +210,7 @@ iframe {
}
.overviewTd {
padding-left: 5%;
padding-left: 35px;
padding-top: 20px;
border-color: #ddd;
}
@ -241,6 +244,7 @@ iframe {
}
.padding10 {
padding: 10px;
padding-left: 25px;
border: none;
}
.ro {
@ -260,26 +264,40 @@ iframe {
margin-left: 13%;
font-weight: bold;
font-style: italic;
margin-top: -10px;
}
.menu ul li{
padding: 10px;
padding: 10px;
padding-left: 20px;
}
.menu ul > li:hover{
/*.menu ul > li:hover{
background-color: #3a4a4a;
}
}*/
.menu ul ul > li:hover{
background-color: #69e;
}
.menu ul li, .menu ul{
display: inline-block;
border-radius: 3px;
}
.menu ul{
position: relative;
margin: 0;
padding: 0;
background-color: #33414E;
list-style-type: none;
}
.menu ul a{
color: #fff;
text-decoration: none;
}
.menu ul a:hover {
background-color: #69e;
}
.menu ul ul a{
color: #fff;
text-decoration: none;
}
/*
.menu ul li, .menu ul{
display: inline-block;
border-radius: 3px;
}
.menu ul ul{
display: none;
@ -288,21 +306,13 @@ iframe {
margin-top: 10px;
margin-left: -10px;
}
.menu ul a{
color: #fff;
text-decoration: none;
}
.menu ul ul a{
color: #fff;
text-decoration: none;
}
.menu li:hover ul{
display: block;
}
.menu li:hover li{
display: block;
}
*/
@keyframes shadow {
from {box-shadow: 0px 0px 0px red inset;}
50% {text-shadow: 0 0 30px black;}
@ -439,12 +449,7 @@ a:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
.container-fluid {
padding-right: 15px;
padding-left: 15px;