Subversion Repositories ALCASAR

Rev

Details | Last modification | View Log

Rev Author Line No. Line
2784 rexy 1
function renderPlugin_ps(data) {
2
 
3
    var directives = {
4
        MemoryUsage: {
5
            html: function () {
6
                return '<div class="progress"><div class="progress-bar progress-bar-info" style="width:' + this.MemoryUsage + '%;"></div>' +
7
                        '</div><div class="percent">' + this.MemoryUsage + '%</div>';
8
            }
9
        },
10
        CPUUsage: {
11
            html: function () {
12
                return '<div class="progress"><div class="progress-bar progress-bar-info" style="width:' + this.CPUUsage + '%;"></div>' +
13
                        '</div><div class="percent">' + this.CPUUsage + '%</div>';
14
            }
15
        },
16
        Name: {
17
            html: function () {
18
                return this.Name.replace(/,/g, ",<wbr>").replace(/\s/g, " <wbr>").replace(/\./g, ".<wbr>").replace(/-/g, "<wbr>-").replace(/\//g, "<wbr>/"); /* split long name */
19
            }
20
        }
21
    };
22
 
23
    if (data.Plugins.Plugin_PS !== undefined) {
24
        var psitems = items(data.Plugins.Plugin_PS.Process);
25
        if (psitems.length > 0) {
26
 
27
            var html = "", ps_item = [], expanded = 0, memwas = false, cpuwas = false;
28
            for (var i = 0; i < psitems.length ; i++) {
29
                ps_item = psitems[i]["@attributes"];
30
 
31
                if (ps_item.ParentID === "0") {
32
                    html+="<tr id=\"ps-" + (i+1) + "\" class=\"treegrid-ps-" + (i+1) + "\" style=\"display:none;\" >";
33
                } else {
34
                    html+="<tr id=\"ps-" + (i+1) + "\" class=\"treegrid-ps-" + (i+1) + " treegrid-parent-ps-" + ps_item.ParentID + "\" style=\"display:none;\" >";
35
                }
36
                html+="<td><span class=\"treegrid-span\" data-bind=\"Name\"></span></td>";
37
                html+="<td><span data-bind=\"PID\"></span></td>";
38
                html+="<td><span data-bind=\"PPID\"></span></td>";
39
                html+="<td style=\"width:10%;\"><span data-bind=\"MemoryUsage\"></span></td>";
40
                html+="<td style=\"width:10%;\"><span data-bind=\"CPUUsage\"></span></td>";
41
                html+="</tr>";
42
            }
43
 
44
            $("#ps-data").empty().append(html);
45
 
46
            $('#ps').treegrid({
47
                initialState: 'expanded',
48
                expanderExpandedClass: 'normalicon normalicon-down',
49
                expanderCollapsedClass: 'normalicon normalicon-right'
50
            });
51
 
52
            for (var j = 0; j < psitems.length ; j++) {
53
                ps_item = psitems[j]["@attributes"];
54
                $('#ps-'+(j+1)).render(ps_item, directives);
55
                if (!memwas && (ps_item.MemoryUsage !== undefined)) {
56
                    memwas = true;
57
                }
58
                if (!cpuwas && (ps_item.CPUUsage !== undefined)) {
59
                    cpuwas = true;
60
                }
61
                expanded = ps_item.Expanded;
62
                if ((expanded !== undefined) && (expanded === "0")) {
63
                    $('#ps-'+(j+1)).treegrid('collapse');
64
                }
65
            }
66
 
67
            if (memwas) {
68
                $('#ps td:nth-child(4),#ps th:nth-child(4)').show();
69
            } else {
70
                $('#ps td:nth-child(4),#ps th:nth-child(4)').hide();
71
            }
72
            if (cpuwas) {
73
                $('#ps td:nth-child(5),#ps th:nth-child(5)').show();
74
            } else {
75
                $('#ps td:nth-child(5),#ps th:nth-child(5)').hide();
76
            }
77
 
78
            $('#block_ps').show();
79
        } else {
80
            $('#block_ps').hide();
81
        }
82
    } else {
83
        $('#block_ps').hide();
84
    }
85
}