]> git.sur5r.net Git - bacula/bacula/blob - gui/bweb/html/bweb.js
ebl Add pool view
[bacula/bacula] / gui / bweb / html / bweb.js
1  var even_cell_color = "#FFFFFF";
2  var odd_cell_color  = "#EEEEEE";
3  var header_color    = "#E1E0DA";
4  var rows_per_page   = 20;
5  var up_icon         = "/bweb/up.gif";
6  var down_icon       = "/bweb/down.gif";
7  var prev_icon       = "/bweb/left.gif";
8  var next_icon       = "/bweb/right.gif";
9  var rew_icon        = "/bweb/first.gif";
10  var fwd_icon        = "/bweb/last.gif";
11
12  var jobstatus = {
13  'C': 'created but not yet running',
14  'R': 'running',
15  'B': 'blocked',
16  'T': 'terminated normally',
17  'E': 'Job terminated in error',
18  'e': 'Non-fatal error',
19  'f': 'Fatal error',
20  'D': 'Verify differences',
21  'A': 'canceled by user',
22  'F': 'waiting on File daemon',
23  'S': 'waiting on the Storage daemon',
24  'm': 'waiting for new media',
25  'M': 'waiting for Mount',
26  's': 'Waiting for storage resource',
27  'j': 'Waiting for job resource',
28  'c': 'Waiting for Client resource',
29  'd': 'Waiting for maximum jobs',
30  't': 'Waiting for start time',
31  'p': 'Waiting for higher priority jobs to finish'
32 };
33
34 var joblevel = {
35  'F': 'Full backup',
36  'I': 'Incr (since last backup)',
37  'D': 'Diff (since last full backup)',
38  'C': 'verify from catalog',
39  'V': 'verify save (init DB)',
40  'O': 'verify Volume to catalog entries',
41  'd': 'verify Disk attributes to catalog',
42  'A': 'verify data on volume',
43  'B': 'Base level job'
44 };
45
46
47 var refresh_time = 60000;
48
49 function bweb_refresh() {
50   location.reload(true)
51 }
52 function bweb_add_refresh(){
53         window.setInterval("bweb_refresh()",refresh_time);
54 }
55
56 //
57 // percent_display("row2", [ { nb: 1, name: "Full"   },
58 //                         { nb: 2, name: "Error"  },
59 //                         { nb: 5, name: "Append" },
60 //                         { nb: 2, name: "Purged" },
61 //                         {}                               # last element must be {}
62 //                       ]);
63
64 function percent_get_img(type)
65 {
66    var img=document.createElement('img');
67    if (type) {
68       img.className="pSlice" + type ;
69    } else {
70       img.className="pSlice";
71    }
72    img.src="/bweb/pix.png";
73    img.alt="";
74    return img;
75 }
76
77 function percent_display(parent, hash_values)
78 {
79    var nb_elt=20;
80    var tips= "";
81
82    if (typeof parent != "object") {
83       parent = document.getElementById(parent);
84    } 
85
86    if (!parent) {
87        alert("E : display_percent(): Can't find parent " + parent);
88        return;
89    }
90
91    hash_values.pop(); // drop last element {}
92
93    var nb_displayed = 0;
94    var nb_max = 0;
95
96    for(var i=0;i<hash_values.length;i++) {
97         nb_max += hash_values[i]['nb'];
98    }
99
100    for(var i=0;i<hash_values.length;i++) {
101         var elt = hash_values[i];
102         var cur_nb = (elt['nb'] * nb_elt)/nb_max;
103         var cur_name = elt['name'];
104         cur_name.replace(/-/,"_");
105
106         tips = tips + " " + elt['nb'] + " " + cur_name;
107
108         while ((nb_displayed < nb_elt) && (cur_nb >=1)) {
109             nb_displayed++;
110             cur_nb--;
111
112             var img= percent_get_img(cur_name);
113             parent.appendChild(img);
114         }       
115    }
116
117    while (nb_displayed < nb_elt) {
118       nb_displayed++;
119       var img= percent_get_img();
120       parent.appendChild(img);
121   }     
122
123   parent.title = tips;
124
125 }