mirror of
https://github.com/unraid/webgui.git
synced 2026-01-23 09:59:59 -06:00
Merge pull request #1365 from bergware/master
Dashboard: use prototype function
This commit is contained in:
@@ -256,7 +256,7 @@ input[value=Edit]{margin:12px 0 0 0;padding:5px 10px}
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
<div class='leftside'>
|
||||
<span class='header'><i class='indent fa fa-file-text-o'></i>_(Description)_</span><br><i class='indent'></i><?=_var($var,'SYS_MODEL')?><br><br>
|
||||
<span class='header'><i class='indent fa fa-file-text-o'></i>_(Model)_</span><br><i class='indent'></i><?=_var($var,'SYS_MODEL')?:'---'?><br><br>
|
||||
<span class='header'><i class='indent fa fa-id-badge'></i>_(Registration)_</span><br><i class='indent'></i>Unraid OS <b><em><?=_var($var,'regTy')?></em></b><br><br>
|
||||
<span class='header'><i class='indent fa fa-clock-o'></i>_(Uptime)_</span><br><i class='indent'></i><span class='uptime'></span>
|
||||
</div>
|
||||
@@ -745,6 +745,29 @@ String.prototype.md5 = function() {
|
||||
}
|
||||
return rh(a)+rh(b)+rh(c)+rh(d);
|
||||
}
|
||||
jQuery.prototype.hideMe = function() {
|
||||
var hidden = $.cookie('hidden_content');
|
||||
hidden = hidden==null ? [] : hidden.split(';');
|
||||
if (hidden.indexOf(this.attr('sort'))>=0) this.find('tr:gt(0)').hide();
|
||||
}
|
||||
jQuery.prototype.mixedView = function(s) {
|
||||
if (s==0) {
|
||||
this.find('tr:gt(0)').hide();
|
||||
return;
|
||||
}
|
||||
this.find('tr:gt(0)').show();
|
||||
if (this.attr('data')) {
|
||||
setTimeout(this.attr('data'));
|
||||
}
|
||||
if (this.hasClass('mixed')) {
|
||||
var select = this.find('select[name^="enter"]');
|
||||
select = parseInt(select.val())+1;
|
||||
this.find('tr:gt(0)').each(function(){
|
||||
var names = ($(this).attr('class')||'').split(' ');
|
||||
for (var n=0,name; name=names[n]; n++) if (/[0-9]/.test(name.slice(-1)) && name.slice(-1)!=select) $(this).hide();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var ports = [<?=implode(',',array_map('escapestring',$ports))?>];
|
||||
var cpu = [];
|
||||
@@ -889,11 +912,9 @@ function loadlist(init) {
|
||||
$.post('/webGui/include/DashboardApps.php',{display:'<?=$display['dashapps']?>',docker:'<?=$dockerd?>',vms:'<?=$libvirtd?>'},function(d) {
|
||||
var data = d.split('\0');
|
||||
$('#docker_view tr.updated').remove();
|
||||
$('#docker_view').append(data[0]);
|
||||
hideMe($('#docker_view'));
|
||||
$('#docker_view').append(data[0]).hideMe();
|
||||
$('#vm_view tr.updated').remove();
|
||||
$('#vm_view').append(data[1]);
|
||||
hideMe($('#vm_view'));
|
||||
$('#vm_view').append(data[1]).hideMe();
|
||||
if ($.cookie('my_apps')!=null) $('span.apps.stopped').hide(0,noApps());
|
||||
if ($.cookie('my_vms')!=null) $('span.vms.stopped').hide(0,noVMs());
|
||||
});
|
||||
@@ -1189,24 +1210,6 @@ function setColor(l, t1, t2) {
|
||||
case (t2 > 0 && l >= t2): return 'orangebar';
|
||||
default: return '';}
|
||||
}
|
||||
function hideMe(tbody) {
|
||||
var hidden = $.cookie('hidden_content');
|
||||
hidden = hidden==null ? [] : hidden.split(';');
|
||||
if (hidden.indexOf(tbody.attr('sort'))>=0) tbody.find('tr:gt(0)').hide();
|
||||
}
|
||||
function mixed(tbody) {
|
||||
if (tbody.attr('data')) {
|
||||
setTimeout(tbody.attr('data'));
|
||||
}
|
||||
if (tbody.hasClass('mixed')) {
|
||||
var select = tbody.find('select[name^="enter"]');
|
||||
select = parseInt(select.val())+1;
|
||||
tbody.find('tr:gt(0)').each(function(){
|
||||
var names = ($(this).attr('class')||'').split(' ');
|
||||
for (var n=0,name; name=names[n]; n++) if (/[0-9]/.test(name.slice(-1)) && name.slice(-1)!=select) $(this).hide();
|
||||
});
|
||||
}
|
||||
}
|
||||
function openClose(button) {
|
||||
var hidden = $.cookie('hidden_content');
|
||||
hidden = hidden==null ? [] : hidden.split(';');
|
||||
@@ -1215,12 +1218,11 @@ function openClose(button) {
|
||||
var tbody = button.closest('tbody');
|
||||
if (button.hasClass('fa-chevron-up')) {
|
||||
button.removeClass('fa-chevron-up fa-chevron-down').addClass('fa-chevron-down');
|
||||
tbody.find('tr:gt(0)').hide();
|
||||
tbody.mixedView(0);
|
||||
hidden.push(tbody.attr('sort'));
|
||||
} else {
|
||||
button.removeClass('fa-chevron-up fa-chevron-down').addClass('fa-chevron-up');
|
||||
tbody.find('tr:gt(0)').show();
|
||||
mixed(tbody);
|
||||
tbody.mixedView(1);
|
||||
hidden.splice(hidden.indexOf(tbody.attr('sort')),1);
|
||||
}
|
||||
$.cookie('hidden_content',hidden.join(';'),{expires:3650});
|
||||
@@ -1229,15 +1231,14 @@ function openClose(button) {
|
||||
if (hidden.length==0) {
|
||||
$('div.frame tbody').each(function(){
|
||||
$(this).find('.openclose').removeClass('fa-chevron-up fa-chevron-down').addClass('fa-chevron-down');
|
||||
$(this).find('tr:gt(0)').hide();
|
||||
$(this).mixedView(0);
|
||||
hidden.push($(this).attr('sort'));
|
||||
});
|
||||
$.cookie('hidden_content',hidden.join(';'),{expires:3650});
|
||||
} else {
|
||||
$('div.frame tbody').each(function(){
|
||||
$(this).find('.openclose').removeClass('fa-chevron-up fa-chevron-down').addClass('fa-chevron-up');
|
||||
$(this).find('tr:gt(0)').show();
|
||||
mixed($(this));
|
||||
$(this).mixedView(1);
|
||||
});
|
||||
$.removeCookie('hidden_content');
|
||||
}
|
||||
@@ -1380,8 +1381,7 @@ dashboard.on('message',function(msg,meta) {
|
||||
var info = moreInfo(data,"_(Array)_");
|
||||
// array devices
|
||||
$('#array_list tr.updated').remove();
|
||||
$('#array_list').append(data[0]);
|
||||
hideMe($('#array_list'));
|
||||
$('#array_list').append(data[0]).hideMe();
|
||||
$('#array_info').parent().css('display',info?'':'none');
|
||||
$('#array_info').html(info);
|
||||
smartMenu('#array_list');
|
||||
@@ -1391,8 +1391,7 @@ dashboard.on('message',function(msg,meta) {
|
||||
var data = t.split('\0');
|
||||
var info = moreInfo(data,"_(Pool)_");
|
||||
$('#pool_list'+i+' tr.updated').remove();
|
||||
$('#pool_list'+i).append(t);
|
||||
hideMe($('#pool_list'+i));
|
||||
$('#pool_list'+i).append(t).hideMe();
|
||||
$('#pool_info'+i).parent().css('display',info?'':'none');
|
||||
$('#pool_info'+i).html(info);
|
||||
smartMenu('#pool_list'+i);
|
||||
@@ -1402,8 +1401,7 @@ dashboard.on('message',function(msg,meta) {
|
||||
var data = part[2].split('\0');
|
||||
var info = moreInfo(data,"_(Unassigned)_");
|
||||
$('#devs_list tr.updated').remove();
|
||||
$('#devs_list').append(data[0]);
|
||||
hideMe($('#devs_list'));
|
||||
$('#devs_list').append(data[0]).hideMe();
|
||||
$('#devs_info').parent().css('display',info?'':'none');
|
||||
$('#devs_info').html(info);
|
||||
smartMenu('#devs_list');
|
||||
|
||||
@@ -130,7 +130,7 @@ $active = explode(' ',exec('wg show interfaces'));
|
||||
$autostart = explode(' ',@file_get_contents("$etc/autostart")?:'');
|
||||
$build = false;
|
||||
$script = "$docroot/webGui/scripts/upnp_port";
|
||||
$services = "$docroot/webGui/scripts/reload_services";
|
||||
$services = "$docroot/webGui/scripts/update_services";
|
||||
$template = "$docroot/webGui/WGX.page";
|
||||
$tower = _var($var,'NAME');
|
||||
$ethX = 'eth0';
|
||||
|
||||
@@ -24,7 +24,7 @@ while (true) {
|
||||
exec("awk '/^c_max|^size/{print \$3}' /proc/spl/kstat/zfs/arcstats 2>/dev/null",$zfs);
|
||||
[$total,$free] = $memory;
|
||||
$used = $total-$free;
|
||||
$info = max(round(100*(1-$free/$total)),0)."%\0".round(100*($zfs[1]??0)/($zfs[0]??1))."%\0".implode("\0",$sys);
|
||||
$info = max(round(100*(1-$free/$total)),0)."%\0".min(100,round(100*($zfs[1]??0)/($zfs[0]??1)))."%\0".implode("\0",$sys);
|
||||
$rpms = count($rpms) ? implode(" RPM\0",$rpms).' RPM' : '';
|
||||
$names = array_keys((array)parse_ini_file("$varroot/shares.ini"));
|
||||
exec("LANG='en_US.UTF8' lsof -Owl /mnt/disk[0-9]* 2>/dev/null|awk '/^shfs/ && \$0!~/\.AppleD(B|ouble)/ && \$5==\"REG\"'|awk -F/ '{print \$4}'",$lsof);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
SERVICES="sshd avahidaemon samba rpc nfsd ntpd nginx"
|
||||
SERVICES="rpc nfsd ntpd nginx sshd avahidaemon samba"
|
||||
|
||||
if [[ -n $1 ]]; then
|
||||
[[ ! -e $1 ]] && touch $1 || exit 0
|
||||
|
||||
6
emhttp/plugins/dynamix/scripts/update_services
Executable file
6
emhttp/plugins/dynamix/scripts/update_services
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
lock=/tmp/atlock.tmp
|
||||
|
||||
rm -f $lock
|
||||
echo "sleep ${1:-1};/usr/local/emhttp/webGui/scripts/reload_services $lock"|at -M now 2>/dev/null
|
||||
exit 0
|
||||
@@ -140,12 +140,12 @@ check() {
|
||||
while IFS='\n' read -r net; do
|
||||
net=($net)
|
||||
if [[ "avahi show" =~ $CALLER ]]; then
|
||||
[[ -n $net ]] && bind+=($net)
|
||||
[[ -n $net && -z $(good $net) ]] && bind+=($net)
|
||||
[[ -n ${net[1]} ]] && ipv4=yes
|
||||
else
|
||||
# exclude wireguard tunnels for ntp
|
||||
[[ $CALLER == ntp ]] && name=$(show ${net[1]}) || name=
|
||||
[[ ${name:0:2} != wg && -n ${net[1]} ]] && ipv4=yes bind+=($(sub ${net[1]}))
|
||||
[[ ${name:0:2} != wg && -n ${net[1]} && -z $(good ${net[1]}) ]] && ipv4=yes bind+=($(sub ${net[1]}))
|
||||
fi
|
||||
done <<< $(ip -br -4 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ {print $1,$3}')
|
||||
# active ipv6 interfaces (including wireguard)
|
||||
@@ -157,7 +157,7 @@ check() {
|
||||
else
|
||||
# exclude wireguard tunnels for ntp
|
||||
[[ $CALLER == ntp ]] && name=$(show ${net[1]}) || name=
|
||||
[[ ${name:0:2} != wg && -n ${net[1]} ]] && ipv6=yes bind+=($(sub ${net[1]}))
|
||||
[[ ${name:0:2} != wg && -n ${net[1]} && -z $(good ${net[1]}) ]] && ipv6=yes bind+=($(sub ${net[1]}))
|
||||
fi
|
||||
done <<< $(ip -br -6 addr|awk '/^(br|bond|eth|wg)[0-9]+(\.[0-9]+)?/ && $3 !~ "^fe80" {print $1,$3}')
|
||||
# add loopback interface
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
|
||||
ini=/var/local/emhttp/network.ini.new
|
||||
cfg=/boot/config/network.cfg
|
||||
job=/tmp/atjob.tmp
|
||||
reload=/usr/local/emhttp/webGui/scripts/reload_services
|
||||
|
||||
declare -A VLANID USE_DHCP IPADDR NETMASK GATEWAY METRIC USE_DHCP6 IPADDR6 NETMASK6 GATEWAY6 PRIVACY6 METRIC6 DESCRIPTION PROTOCOL
|
||||
|
||||
@@ -222,8 +220,7 @@ done
|
||||
/usr/bin/mv $ini ${ini%.*}
|
||||
|
||||
# delayed execution
|
||||
rm -f $job
|
||||
echo "sleep 35;$reload $job"|at -M now 2>/dev/null
|
||||
/usr/local/emhttp/webGui/scripts/update_services 35
|
||||
|
||||
# send update information
|
||||
if [[ -n $interface && -n $data && -e /var/run/nginx.socket ]]; then
|
||||
|
||||
Reference in New Issue
Block a user