Regions UI: Highlight active region in selector
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/289c433c Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/289c433c Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/289c433c Branch: refs/heads/ui-regions Commit: 289c433cb920479bd559b51c551be6fa44c1e515 Parents: fdaa5b4 Author: Brian Federle <[email protected]> Authored: Wed Feb 27 09:12:25 2013 -0800 Committer: Brian Federle <[email protected]> Committed: Wed Feb 27 09:12:25 2013 -0800 ---------------------------------------------------------------------- ui/scripts/regions.js | 8 ++++++-- ui/scripts/ui-custom/regions.js | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/289c433c/ui/scripts/regions.js ---------------------------------------------------------------------- diff --git a/ui/scripts/regions.js b/ui/scripts/regions.js index 6c0da68..543c17e 100644 --- a/ui/scripts/regions.js +++ b/ui/scripts/regions.js @@ -23,10 +23,14 @@ $.ajax({ url: createURL('listRegions&listAll=true'), success: function(json) { - var regions = json.listregionsresponse.region + var regions = json.listregionsresponse.region; args.response.success({ - data: regions ? regions : [] + data: regions ? regions : [ + { id: -1, name: '(Default region)' } + ], + activeRegionID: cloudStack.context.users.regionid ? + cloudStack.context.users.regionid : 1 }); } }); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/289c433c/ui/scripts/ui-custom/regions.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui-custom/regions.js b/ui/scripts/ui-custom/regions.js index 73b14a7..744a9d9 100644 --- a/ui/scripts/ui-custom/regions.js +++ b/ui/scripts/ui-custom/regions.js @@ -10,12 +10,18 @@ response: { success: function(args) { var data = args.data; + var activeRegionID = args.activeRegionID; $(data).each(function() { var region = this; var $li = $('<li>').append($('<span>').html(_s(region.name))); $li.data('region-data', region); + + if (region.id == activeRegionID) { + $li.addClass('active'); + } + $regionList.append($li); }); } @@ -62,11 +68,16 @@ $regionList.click(function(event) { var $target = $(event.target); var $li = $target.closest('li'); + var region, url; - if ($li.size()) { - var url = $li.data('region-data').endpoint; + if ($li.size() && !$li.hasClass('active')) { + region = $li.data('region-data'); + url = region.endpoint; + id = region.id; - switchRegion(url); + if (id != '-1') { + switchRegion(url); + } } });
