Regions UI: Highlight active region in selector

This commit is contained in:
Brian Federle 2013-02-27 09:12:25 -08:00
parent fdaa5b4909
commit 289c433cb9
2 changed files with 20 additions and 5 deletions

View File

@ -23,10 +23,14 @@
$.ajax({ $.ajax({
url: createURL('listRegions&listAll=true'), url: createURL('listRegions&listAll=true'),
success: function(json) { success: function(json) {
var regions = json.listregionsresponse.region var regions = json.listregionsresponse.region;
args.response.success({ args.response.success({
data: regions ? regions : [] data: regions ? regions : [
{ id: -1, name: '(Default region)' }
],
activeRegionID: cloudStack.context.users.regionid ?
cloudStack.context.users.regionid : 1
}); });
} }
}); });

View File

@ -10,12 +10,18 @@
response: { response: {
success: function(args) { success: function(args) {
var data = args.data; var data = args.data;
var activeRegionID = args.activeRegionID;
$(data).each(function() { $(data).each(function() {
var region = this; var region = this;
var $li = $('<li>').append($('<span>').html(_s(region.name))); var $li = $('<li>').append($('<span>').html(_s(region.name)));
$li.data('region-data', region); $li.data('region-data', region);
if (region.id == activeRegionID) {
$li.addClass('active');
}
$regionList.append($li); $regionList.append($li);
}); });
} }
@ -62,11 +68,16 @@
$regionList.click(function(event) { $regionList.click(function(event) {
var $target = $(event.target); var $target = $(event.target);
var $li = $target.closest('li'); var $li = $target.closest('li');
var region, url;
if ($li.size()) { if ($li.size() && !$li.hasClass('active')) {
var url = $li.data('region-data').endpoint; region = $li.data('region-data');
url = region.endpoint;
id = region.id;
switchRegion(url); if (id != '-1') {
switchRegion(url);
}
} }
}); });