225 lines
7.9 KiB
JavaScript
225 lines
7.9 KiB
JavaScript
var cpuIndicator = $('#indicator-cpu')
|
|
var cpuIndicatorBar = cpuIndicator.find('.progress-bar')
|
|
var cpuIndicatorPercentText = cpuIndicator.find('.indicator-percent')
|
|
var ramIndicator = $('#indicator-ram')
|
|
var ramIndicatorBar = ramIndicator.find('.progress-bar')
|
|
var ramIndicatorUsed = ramIndicator.find('.used')
|
|
var ramIndicatorPercentText = ramIndicator.find('.indicator-percent')
|
|
var diskIndicator = $('#indicator-disk')
|
|
var diskIndicatorBar = diskIndicator.find('.progress-bar')
|
|
var diskIndicatorBarUsed = diskIndicator.find('.diskUsed')
|
|
var diskIndicatorPercentText = diskIndicator.find('.indicator-percent')
|
|
var loadedIndicators = {}
|
|
function loadHiddenSectionsInForms(){
|
|
window.boxWrappersHidden = dashboardOptions().boxWrappersHidden || {}
|
|
$.each(boxWrappersHidden,function(boxId,hide){
|
|
if(hide){
|
|
$(`#${boxId}`).addClass('hide-box-wrapper')
|
|
}
|
|
})
|
|
}
|
|
function loadSwitchStates(){
|
|
var theSwitches = dashboardOptions().switches;
|
|
if(theSwitches){
|
|
$.each(theSwitches,function(systemSwitch,toggleState){
|
|
setSwitchUIState(systemSwitch,toggleState)
|
|
runDashboardSwitchCallback(systemSwitch)
|
|
})
|
|
}else{
|
|
dashboardOptions('switches',{notifyHide:0})
|
|
}
|
|
}
|
|
function loadClassToggleStates(){
|
|
var theClassToggles = dashboardOptions().class_toggle;
|
|
if(theClassToggles){
|
|
$.each(theClassToggles,function(n,v){
|
|
var classToToggle = v[0]
|
|
var togglePosition = v[1]
|
|
if(togglePosition === 1){
|
|
$(n).addClass(v[0])
|
|
}else{
|
|
$(n).removeClass(v[0])
|
|
}
|
|
if(v[2] && v[3]){
|
|
var iconTarget = v[3]
|
|
var iconClassesToToggle = v[2]
|
|
var iconElement = $(`[class_toggle="${classToToggle}"] ${iconTarget}`)
|
|
iconElement
|
|
.addClass(iconClassesToToggle[togglePosition])
|
|
.removeClass(iconClassesToToggle[togglePosition === 1 ? 0 : 1])
|
|
}
|
|
})
|
|
}
|
|
}
|
|
function loadDropdownToggleStates(){
|
|
var theDropdownToggles = dashboardOptions().dropdown_toggle
|
|
if(theDropdownToggles){
|
|
$.each(theDropdownToggles,function(n,v){
|
|
$('[dropdown_toggle="'+n+'"]').val(v).change()
|
|
})
|
|
}
|
|
}
|
|
function loadLocalStorageInputValues(){
|
|
var theLocalStorageBasedInputs = dashboardOptions()
|
|
if(theLocalStorageBasedInputs){
|
|
$.each(theLocalStorageBasedInputs,function(n,v){
|
|
if(typeof v==='string'){
|
|
var el = $('[localStorage="'+n+'"]')
|
|
if(el.is(':checkbox') === false){
|
|
el.val(v)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
function onFullScreenChange() {
|
|
var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
|
|
if(!fullscreenElement){
|
|
$('.videoPlayer-detection-info').removeClass('hide')
|
|
$('.fullscreen').removeClass('fullscreen')
|
|
setTimeout(function(){
|
|
$('canvas.stream-element').resize();
|
|
},2000)
|
|
}
|
|
}
|
|
function loadBoxWrappers() {
|
|
window.boxWrappersHidden = dashboardOptions().boxWrappersHidden
|
|
}
|
|
function drawAddStorageIndicators(){
|
|
$.each(addStorage,function(n,storage){
|
|
drawIndicatorBar({
|
|
icon: 'hdd',
|
|
name: storage.name,
|
|
label: `<span style="text-transform:capitalize">${storage.name}</span> : <span class="value"></span>`,
|
|
})
|
|
var el = $(`#indicator-${storage.name}`)
|
|
loadedIndicators[storage.name] = {
|
|
value: el.find('.value'),
|
|
percent: el.find('.percent'),
|
|
progressBar: el.find('.progress-bar'),
|
|
}
|
|
})
|
|
}
|
|
function showLoginNotices(){
|
|
$.each([
|
|
{
|
|
isValid: !$user.details.size || parseInt($user.details.size) < 20000,
|
|
PNotify: {
|
|
type:'warning',
|
|
title: lang['Max Storage Amount'],
|
|
text: lang.setMaxStorageAmountText,
|
|
}
|
|
}
|
|
],function(n,notice){
|
|
if(notice.isValid){
|
|
new PNotify(notice.PNotify)
|
|
}
|
|
})
|
|
}
|
|
$('body')
|
|
.one('click',function(){
|
|
window.hadFocus = true
|
|
})
|
|
.on('change','[localStorage]',function(){
|
|
var el = $(this)
|
|
var keyName = el.attr('localStorage')
|
|
var value = el.val()
|
|
dashboardOptions(keyName,value)
|
|
})
|
|
.on('change','[dropdown_toggle]',function(){
|
|
var el = $(this);
|
|
var keyName = el.attr('dropdown_toggle');
|
|
var value = el.val();
|
|
var dropdownToggles = dashboardOptions().dropdown_toggle || {};
|
|
dropdownToggles[keyName] = value
|
|
dashboardOptions('dropdown_toggle',dropdownToggles)
|
|
})
|
|
.on('dblclick','[type="password"],.password_field',function(){
|
|
var _this = $(this)
|
|
var type = 'password'
|
|
_this.addClass('password_field')
|
|
if(_this.attr('type') === 'password'){
|
|
type = 'text'
|
|
}
|
|
_this.attr('type',type)
|
|
})
|
|
onWebSocketEvent(function (d){
|
|
switch(d.f){
|
|
case'init_success':
|
|
var coreCount = d.os.cpuCount
|
|
var operatingSystem = d.os.platform
|
|
var totalRAM = d.os.totalmem
|
|
cpuIndicator.find('.os_cpuCount').text(coreCount)
|
|
cpuIndicator.find('.os_platform').text(operatingSystem)
|
|
ramIndicatorUsed.attr('title',`Total : ${(totalRAM/1048576).toFixed(2)}`)
|
|
if(d.os.cpuCount > 1){
|
|
cpuIndicator.find('.os_cpuCount_trailer').html('s')
|
|
}
|
|
break;
|
|
case'log':
|
|
logWriterDraw('[data-mid="'+d.mid+'"][data-ke="'+d.ke+'"]',d)
|
|
break;
|
|
case'os'://indicator
|
|
//cpu
|
|
var cpuPercent = parseFloat(d.cpu).toFixed(1) + '%'
|
|
cpuIndicatorBar.css('width',cpuPercent)
|
|
cpuIndicatorPercentText.html(cpuPercent)
|
|
//ram
|
|
var ramPercent = d.ram.percent.toFixed(1) + '%'
|
|
ramIndicatorBar.css('width',ramPercent)
|
|
ramIndicatorPercentText.html(ramPercent)
|
|
ramIndicatorUsed.html(d.ram.used.toFixed(2))
|
|
break;
|
|
case'diskUsed':
|
|
var diskLimit = d.limit || 10000
|
|
var diskUsed = d.size
|
|
var percent = parseInt((diskUsed/diskLimit)*100)+'%';
|
|
var humanText = parseFloat(diskUsed)
|
|
if(humanText > 1000){
|
|
humanText = (humanText / 1000).toFixed(2) + ' GB'
|
|
}else{
|
|
humanText = humanText.toFixed(2) + ' MB'
|
|
}
|
|
diskIndicatorBarUsed.html(humanText)
|
|
diskIndicatorPercentText.html(percent)
|
|
diskIndicatorBar.css('width',percent)
|
|
if(d.addStorage){
|
|
$.each(d.addStorage,function(n,storage){
|
|
var percent = parseInt((storage.usedSpace/storage.sizeLimit)*100)+'%'
|
|
var humanValue = parseFloat(storage.usedSpace)
|
|
if(humanValue > 1000){
|
|
humanValue = (humanValue/1000).toFixed(2)+' GB'
|
|
}else{
|
|
humanValue = humanValue.toFixed(2)+' MB'
|
|
}
|
|
loadedIndicators[storage.name].value.html(humanValue)
|
|
loadedIndicators[storage.name].percent.html(percent)
|
|
loadedIndicators[storage.name].progressBar.css('width',percent)
|
|
})
|
|
}
|
|
break;
|
|
}
|
|
})
|
|
$(document).ready(function(){
|
|
loadHiddenSectionsInForms()
|
|
loadSwitchStates()
|
|
loadClassToggleStates()
|
|
loadDropdownToggleStates()
|
|
loadLocalStorageInputValues()
|
|
loadBoxWrappers()
|
|
drawAddStorageIndicators()
|
|
showLoginNotices()
|
|
// set onFullScreenChange
|
|
document.addEventListener("fullscreenchange", onFullScreenChange, false);
|
|
document.addEventListener("webkitfullscreenchange", onFullScreenChange, false);
|
|
document.addEventListener("mozfullscreenchange", onFullScreenChange, false);
|
|
});
|
|
var soundAlarmInterval
|
|
var windowFocus = true
|
|
$(window).focus(function() {
|
|
windowFocus = true
|
|
clearInterval(soundAlarmInterval)
|
|
}).blur(function() {
|
|
windowFocus = false
|
|
})
|