Files
webgui/plugins/dynamix/DashboardApps.page
bergware e4c9710991 Load docker and vm lists in background to speed up rendering
Add rotating animation when starting or stopping a container or vm
2018-03-06 03:09:08 +01:00

76 lines
3.6 KiB
Plaintext

Menu="Dashboard:1"
Title="Apps"
Tag="map"
Cond="(((pgrep('dockerd')!==false) || (pgrep('libvirtd')!==false)) && ($display['dashapps']!='none'))"
Markdown="false"
---
<link type="text/css" rel="stylesheet" href="/webGui/styles/jquery.ui.css">
<link type="text/css" rel="stylesheet" href="/webGui/styles/jquery.switchbutton.css">
<style>
body{-webkit-overflow-scrolling: touch;}
label{display:inline;}
iframe{overflow:scroll;-webkit-overflow-scrolling:touch;}
h2{color:#625D5D;letter-spacing:0;font-family:arimo;font-size:32px;line-height: 1.2em;font-weight:300;padding:0 0 20px;margin:0;}
.iconstatus{position:absolute;z-index:2;bottom:-4px;right:-4px;font-size:1.2em;text-shadow:0 0 2px #FFF;}
.iconstatus.started{font-size:1.3em;}
img.started{opacity:1.0;}
img.stopped{opacity:0.3;}
img.paused{opacity:1.0;}
.started{color:#009900;}
.paused{color:#F0DD33;}
.stopped{color:#EF3D47;}
.update{color:#3300FF;}
.show{display:block;}
div.Panel{float:none;display:inline-block;margin:0 18px 15px 0;height:90px;overflow:hidden;vertical-align:top;width:94px;word-wrap:break-word;border:none;}
div.Panel:hover{overflow:visible;z-index:10;background-color:unset;}
#noapps{display:none;font-style:italic;font-size:16px;opacity:0.5;padding:5px;}
.switch-button-label.off{color:inherit;}
.switch-button-label.on{color:#009900;}
</style>
<form method="POST" id="formStartStop" action="/update.php" target="progressFrame">
<input type="hidden" id="cmdStartStop" name="#command" value="">
<input type="hidden" id="cmdArg1" name="#arg[1]" value="">
<input type="hidden" id="cmdArg2" name="#arg[2]" value="">
</form>
<form method="POST" id="formAutostart" action="/plugins/dynamix.docker.manager/include/UpdateConfig.php" target="progressFrame">
<input type="hidden" name="action" value="autostart" />
<input type="hidden" name="container" value="none" />
</form>
<div id="dialog-confirm" style="display:none;" title="Dialog Title"></div>
<div id="iframe-popup" style="display:none;-webkit-overflow-scrolling:touch;"></div>
<span class="status" style="margin-top:-44px; margin-right:<?= ($display['refresh']==0 || ($display['refresh']<0 && $var['mdResync']>0)) ? '60' : '0' ?>px"><input type="checkbox" class="appview"></span>
<div id="apps_icons" style="display:none"></div><div id="noapps">No apps available to show</div>
<script src="<?autov('/webGui/javascript/jquery.switchbutton.js')?>"></script>
<script src="<?autov('/plugins/dynamix.docker.manager/javascript/docker.js')?>"></script>
<script src="<?autov('/plugins/dynamix.vm.manager/javascript/vmmanager.js')?>"></script>
<script>
function loadlist() {
$.get('/webGui/include/DashboardApps.php',function(d) {
var data = d.split(/\0/);
$('#apps_icons').html(data[0]);
$('head').append('<script>'+data[1]+'<\/script>');
if ($.cookie('dashapps_view_mode')=='startedonly') {
$('.Panel').not('.started').hide();
if ($('.Panel.started').length===0) $('#noapps').show();
}
if ($('.Panel').length===0) $('#noapps').show();
$('#apps_icons').fadeIn('slow');
context.init({preventDoubleContext:false});
});
}
$(function() {
$('.appview').switchButton({labels_placement:"left", on_label:'Started Only', off_label:'All Apps', checked:$.cookie('dashapps_view_mode') == 'startedonly'});
$('.appview').change(function() {
$('.Panel').not('.started').finish().toggle('fast');
if ($('.Panel').length===0 || ($('.appview').is(':checked') && $('.Panel.started').length===0)) {
$('#noapps').fadeIn('fast');
} else {
$('#noapps').fadeOut('fast');
}
$.cookie('dashapps_view_mode',$('.appview').is(':checked') ? 'startedonly':'allapps',{expires:3650});
});
loadlist();
});
</script>