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