Revision 1a49199e ui/static/synnefo.js
b/ui/static/synnefo.js | ||
---|---|---|
1 | 1 |
var flavors = [], images = [], servers = [], disks = [], cpus = [], ram = []; |
2 |
var changes_since = 0, deferred = 0; |
|
2 | 3 |
|
3 | 4 |
function list_view() { |
5 |
changes_since = 0; // to reload full list |
|
6 |
clearTimeout(deferred); // clear old deferred calls |
|
4 | 7 |
$.cookie("list", '1'); // set list cookie |
5 | 8 |
$("div#machinesview").load($("#list").attr("href"), function(){ |
6 | 9 |
$("a#standard")[0].className += ' activelink'; |
... | ... | |
10 | 13 |
} |
11 | 14 |
|
12 | 15 |
function standard_view() { |
16 |
changes_since = 0; // to reload full list |
|
17 |
clearTimeout(deferred); // clear old deferred calls |
|
13 | 18 |
$.cookie("list", '0'); |
14 | 19 |
href=$("a#standard").attr("href"); |
15 | 20 |
$("div#machinesview").load(href, function(){ |
... | ... | |
103 | 108 |
return false; |
104 | 109 |
} |
105 | 110 |
|
106 |
var changes_since = ''; |
|
107 | 111 |
// get and show a list of running and terminated machines |
108 | 112 |
function update_vms(interval) { |
109 | 113 |
try{ console.info('updating machines'); } catch(err){} |
110 |
|
|
114 |
var uri='/api/v1.0/servers/detail'; |
|
115 |
|
|
116 |
if (changes_since > 0) |
|
117 |
uri+='?changes_since='+changes_since |
|
118 |
|
|
111 | 119 |
$.ajax({ |
112 |
url: '/api/v1.0/servers/detail?changes_since=' + changes_since,
|
|
120 |
url: uri,
|
|
113 | 121 |
type: "GET", |
114 | 122 |
timeout: TIMEOUT, |
115 | 123 |
dataType: "json", |
116 | 124 |
error: function(jqXHR, textStatus, errorThrown) { |
117 |
// don't forget to try again later |
|
118 |
if (interval) { |
|
119 |
setTimeout(update_vms,interval,interval); |
|
120 |
} |
|
121 |
// as for now, just show an error message |
|
122 |
if (jqXHR.status != undefined) { |
|
123 |
ajax_error(jqXHR.status); |
|
124 |
} else { |
|
125 |
ajax_error(); |
|
126 |
} |
|
127 |
return false; |
|
128 |
}, |
|
129 |
success: function(data, textStatus, jqXHR) { |
|
130 |
changes_since = ''; |
|
131 |
try { |
|
132 |
servers = data.servers; |
|
133 |
} catch(err) { ajax_error('400');} |
|
134 |
update_machines_view(data); |
|
125 |
// don't forget to try again later |
|
135 | 126 |
if (interval) { |
136 |
setTimeout(update_vms,interval,interval); |
|
127 |
deferred = setTimeout(update_vms,interval,interval);
|
|
137 | 128 |
} |
129 |
// as for now, just show an error message |
|
130 |
if (jqXHR.status != undefined) { |
|
131 |
ajax_error(jqXHR.status); |
|
132 |
} else { |
|
133 |
ajax_error(); |
|
134 |
} |
|
135 |
return false; |
|
136 |
}, |
|
137 |
success: function(data, textStatus, jqXHR) { |
|
138 |
changes_since = Date.parse(jqXHR.getResponseHeader('Date'))/1000; |
|
139 |
if (jqXHR.status != 304) { |
|
140 |
try { |
|
141 |
servers = data.servers; |
|
142 |
} catch(err) { ajax_error('400');} |
|
143 |
update_machines_view(data); |
|
144 |
} |
|
145 |
if (interval) { |
|
146 |
deferred = setTimeout(update_vms,interval,interval); |
|
147 |
} |
|
148 |
return false; |
|
138 | 149 |
} |
139 | 150 |
}); |
140 | 151 |
return false; |
... | ... | |
263 | 274 |
}); |
264 | 275 |
return false; |
265 | 276 |
} |
277 |
|
|
266 | 278 |
// return flavorRef from cpu, disk, ram values |
267 | 279 |
function identify_flavor(cpu, disk, ram){ |
268 | 280 |
for (i=0;i<flavors.length;i++){ |
Also available in: Unified diff