]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/protected/Portlets/TrayBar.tpl
baculum: Jobs working refresh in realtime and add new tray bar
[bacula/bacula] / gui / baculum / protected / Portlets / TrayBar.tpl
1 <div id="tray_bar">
2         <img src="<%=$this->getPage()->getTheme()->getBaseUrl()%>/gearwheel-icon.png" alt="<%[ Running jobs: ]%>" /> <%[ Running jobs: ]%> <span class="bold" id="running_jobs"></span>
3         <img src="<%=$this->getPage()->getTheme()->getBaseUrl()%>/check-icon.png" alt="<%[ Finished jobs: ]%>" /> <%[ Finished jobs: ]%> <span class="bold" id="finished_jobs"></span>
4 </div>
5 <script type="text/javascript">
6         var oMonitor;
7         var default_refresh_interval = 60000;
8         var default_fast_refresh_interval = 10000;
9         var timeout_handler;
10         document.observe("dom:loaded", function() {
11                 oMonitor = function() {
12                         return new Ajax.Request('<%=$this->Service->constructUrl("Monitor")%>', {
13                                 onSuccess: function(response) {
14                                         if (timeout_handler) {
15                                                 clearTimeout(timeout_handler);
16                                         }
17                                         var jobs = (response.responseText).evalJSON();
18                                         if (jobs.running_jobs.length > 0) {
19                                                 refreshInterval = default_fast_refresh_interval;
20                                         } else {
21                                                 refreshInterval = default_refresh_interval;
22                                         }
23                                         job_callback_func();
24                                         $('running_jobs').update(jobs.running_jobs.length);
25                                         $('finished_jobs').update(jobs.terminated_jobs.length);
26                                         timeout_handler = setTimeout("oMonitor()", refreshInterval);
27                                 }
28                         });
29                 };
30                 oMonitor();
31         });
32         </script>