From 20705a550df5b13a544dc0865c6aef16e64c99d9 Mon Sep 17 00:00:00 2001 From: ShevAbam Date: Wed, 18 Jun 2014 10:11:11 +0200 Subject: + First commit (version 2.0) --- js/esm.js | 299 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 js/esm.js (limited to 'js/esm.js') diff --git a/js/esm.js b/js/esm.js new file mode 100644 index 0000000..6fad950 --- /dev/null +++ b/js/esm.js @@ -0,0 +1,299 @@ +var esm = {}; + + +esm.getSystem = function() { + + $.get('libs/system.php', function(data) { + + var $box = $('.box#esm-system .box-content tbody'); + + esm.insertDatas($box, 'system', data); + + }, 'json'); + +} + + +esm.getLoad_average = function() { + + $.get('libs/load_average.php', function(data) { + + var $box = $('.box#esm-load_average .box-content'); + + esm.reconfigureGauge($('input#load-average_1', $box), data[0]); + esm.reconfigureGauge($('input#load-average_5', $box), data[1]); + esm.reconfigureGauge($('input#load-average_15', $box), data[2]); + + }, 'json'); + +} + + +esm.getCpu = function() { + + $.get('libs/cpu.php', function(data) { + + var $box = $('.box#esm-cpu .box-content tbody'); + + esm.insertDatas($box, 'cpu', data); + + }, 'json'); + +} + + +esm.getMemory = function() { + + $.get('libs/memory.php', function(data) { + + var $box = $('.box#esm-memory .box-content tbody'); + + esm.insertDatas($box, 'memory', data); + + // Percent bar + var $progress = $('.progressbar', $box); + + $progress + .css('width', data.percent_used+'%') + .html(data.percent_used+'%') + .removeClass('green orange red'); + + if (data.percent_used <= 50) + $progress.addClass('green'); + else if (data.percent_used <= 75) + $progress.addClass('orange'); + else + $progress.addClass('red'); + + }, 'json'); + +} + + +esm.getSwap = function() { + + $.get('libs/swap.php', function(data) { + + var $box = $('.box#esm-swap .box-content tbody'); + + esm.insertDatas($box, 'swap', data); + + // Percent bar + var $progress = $('.progressbar', $box); + + $progress + .css('width', data.percent_used+'%') + .html(data.percent_used+'%') + .removeClass('green orange red'); + + if (data.percent_used <= 50) + $progress.addClass('green'); + else if (data.percent_used <= 75) + $progress.addClass('orange'); + else + $progress.addClass('red'); + + }, 'json'); + +} + + +esm.getDisk = function() { + + $.get('libs/disk.php', function(data) { + + var $box = $('.box#esm-disk .box-content tbody'); + $box.empty(); + + for (var line in data) + { + var bar_class = ''; + + if (data[line].percent_used <= 50) + bar_class = 'green'; + else if (data[line].percent_used <= 75) + bar_class = 'orange'; + else + bar_class = 'red'; + + var html = ''; + html += ''; + html += ''+data[line].mount+''; + html += '
'+data[line].percent_used+'%
'; + html += ''+data[line].free+''; + html += ''+data[line].used+''; + html += ''+data[line].total+''; + html += ''; + + $box.append(html); + } + + }, 'json'); + +} + + +esm.getLast_login = function() { + + $.get('libs/last_login.php', function(data) { + + var $box = $('.box#esm-last_login .box-content tbody'); + $box.empty(); + + for (var line in data) + { + var html = ''; + html += ''; + html += ''+data[line].user+''; + html += ''+data[line].host+''; + html += ''+data[line].date+''; + html += ''; + + $box.append(html); + } + + }, 'json'); + +} + + +esm.getNetwork = function() { + + $.get('libs/network.php', function(data) { + + var $box = $('.box#esm-network .box-content tbody'); + $box.empty(); + + for (var line in data) + { + var html = ''; + html += ''; + html += ''+data[line].interface+''; + html += ''+data[line].ip+''; + html += ''+data[line].receive+''; + html += ''+data[line].transmit+''; + html += ''; + + $box.append(html); + } + + }, 'json'); + +} + + +esm.getPing = function() { + + $.get('libs/ping.php', function(data) { + + var $box = $('.box#esm-ping .box-content tbody'); + $box.empty(); + + for (var line in data) + { + var html = ''; + html += ''; + html += ''+data[line].host+''; + html += ''+data[line].ping+' ms'; + html += ''; + + $box.append(html); + } + + }, 'json'); + +} + + +esm.getServices = function() { + + $.get('libs/services.php', function(data) { + + var $box = $('.box#esm-services .box-content tbody'); + $box.empty(); + + for (var line in data) + { + var label_color = data[line].status == 1 ? 'success' : 'error'; + var label_status = data[line].status == 1 ? 'online' : 'offline'; + + var html = ''; + html += ''; + html += ''+label_status+''; + html += ''+data[line].name+''; + html += ''+data[line].port+''; + html += ''; + + $box.append(html); + } + + }, 'json'); + +} + + + + +esm.getAll = function() { + esm.getSystem(); + esm.getCpu(); + esm.getLoad_average(); + esm.getMemory(); + esm.getSwap(); + esm.getDisk(); + esm.getLast_login(); + esm.getNetwork(); + esm.getPing(); + esm.getServices(); +} + +esm.reloadBlock = function(block) { + esm.mapping[block](); +} + +esm.insertDatas = function($box, block, datas) { + for (var item in datas) + { + $('#'+block+'-'+item, $box).html(datas[item]); + } +} + +esm.reconfigureGauge = function($gauge, newValue) { + // Change colors according to the percentages + var colors = { green : '#7BCE6C', orange : '#E3BB80', red : '#CF6B6B' }; + var color = ''; + + if (newValue <= 50) + color = colors.green; + else if (newValue <= 75) + color = colors.orange; + else + color = colors.red; + + $gauge.trigger('configure', { + 'fgColor': color, + 'inputColor': color, + 'fontWeight': 'normal', + 'format' : function (value) { + return value + '%'; + } + }); + + // Change gauge value + $gauge.val(newValue).trigger('change'); +} + + +esm.mapping = { + all: esm.getAll, + system: esm.getSystem, + load_average: esm.getLoad_average, + cpu: esm.getCpu, + memory: esm.getMemory, + swap: esm.getSwap, + disk: esm.getDisk, + last_login: esm.getLast_login, + network: esm.getNetwork, + ping: esm.getPing, + services: esm.getServices +}; \ No newline at end of file -- cgit v1.3