Updated Branches:
refs/heads/master ae5d22b4a -> 9394e838a
CS-16001: Show router details on click of 'virtual router'
Clicking the 'Virtual Router' button will show the same router tab as seen on
the VPC detail view.
-- Note that this is only clickable for admins, as users cannot view router
details in the API.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit:
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/9394e838
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/9394e838
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/9394e838
Branch: refs/heads/master
Commit: 9394e838a51a622805180bcb822a76358ad42ee9
Parents: ae5d22b
Author: Brian Federle <[email protected]>
Authored: Thu Aug 16 12:34:05 2012 -0700
Committer: Brian Federle <[email protected]>
Committed: Thu Aug 16 12:36:03 2012 -0700
----------------------------------------------------------------------
ui/css/cloudstack3.css | 7 ++-
ui/scripts/ui-custom/vpc.js | 109 +++++++++++++++++++++++---------------
ui/scripts/vpc.js | 8 +++
3 files changed, 81 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/9394e838/ui/css/cloudstack3.css
----------------------------------------------------------------------
diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css
index da41b76..b3abeee 100644
--- a/ui/css/cloudstack3.css
+++ b/ui/css/cloudstack3.css
@@ -9607,10 +9607,15 @@ div.panel.ui-dialog div.list-view div.fixed-header {
top: -36px;
background-position: 0px -2519px;
border: 1px solid #ADADAD;
+ cursor: pointer;
}
-.vpc-chart li.tier.virtual-router span {
+.vpc-chart li.tier.virtual-router.disabled,
+.vpc-chart li.tier.virtual-router.disabled span {
cursor: default;
+}
+
+.vpc-chart li.tier.virtual-router span {
color: #586E82;
font-size: 18px;
/*+text-shadow:0px 1px 3px #FFFFFF;*/
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/9394e838/ui/scripts/ui-custom/vpc.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui-custom/vpc.js b/ui/scripts/ui-custom/vpc.js
index 60d5429..f6214b8 100644
--- a/ui/scripts/ui-custom/vpc.js
+++ b/ui/scripts/ui-custom/vpc.js
@@ -297,7 +297,9 @@
return $config;
},
- router: function() {
+ router: function(args) {
+ var $browser = args.$browser;
+ var detailView = args.detailView;
var $router = $('<li>').addClass('tier virtual-router');
var $title = $('<span>').addClass('title').html('Virtual Router');
@@ -306,6 +308,17 @@
// Append horizontal chart line
$router.append($('<div>').addClass('connect-line'));
+ $router.click(function() {
+ if ($router.hasClass('disabled')) return false;
+
+ $browser.cloudBrowser('addPanel', {
+ title: 'VPC router details',
+ complete: function($panel) {
+ $panel.detailView(detailView);
+ }
+ });
+ });
+
return $router;
},
tier: function(args) {
@@ -468,60 +481,70 @@
var context = args.context;
var tierDetailView = args.tierDetailView;
var $tiers = $('<ul>').addClass('tiers');
- var $router = elems.router();
+ var $router;
+
+ $router = elems.router({
+ $browser:$browser,
+ detailView:$.extend(true, {}, args.routerDetailView(), {
+ context:context
+ })
+ });
+
+ if (!isAdmin() && !isDomainAdmin()) $router.addClass('disabled');
+
var $chart = $('<div>').addClass('vpc-chart');
var $title = $('<div>').addClass('vpc-title')
- .append(
- $('<span>').html(vpcName)
- )
- .append(
- elems.vpcConfigureArea({
- context: context,
- $browser: $browser,
- $chart: $chart,
- ipAddresses: $.extend(ipAddresses, {context: context}),
- gateways: $.extend(gateways, {context: context}),
- siteToSiteVPN: $.extend(siteToSiteVPN, {context: context}),
- acl: $.extend(acl, {context: context}),
- tierDetailView: tierDetailView
- })
- );
-
- var showAddTierDialog = function() {
+ .append(
+ $('<span>').html(vpcName)
+ )
+ .append(
+ elems.vpcConfigureArea({
+ context:context,
+ $browser:$browser,
+ $chart:$chart,
+ ipAddresses:$.extend(ipAddresses, {context:context}),
+ gateways:$.extend(gateways, {context:context}),
+ siteToSiteVPN:$.extend(siteToSiteVPN, {context:context}),
+ acl:$.extend(acl, {context:context}),
+ tierDetailView:tierDetailView
+ })
+ );
+
+ var showAddTierDialog = function () {
if ($(this).find('.loading-overlay').size()) {
return false;
}
addTierDialog({
- ipAddresses: ipAddresses,
- $browser: $browser,
- tierDetailView: tierDetailView,
- $tiers: $tiers,
- acl: acl,
- context: context,
- actions: actions,
- vmListView: vmListView,
- actionPreFilter: actionPreFilter
+ ipAddresses:ipAddresses,
+ $browser:$browser,
+ tierDetailView:tierDetailView,
+ $tiers:$tiers,
+ acl:acl,
+ context:context,
+ actions:actions,
+ vmListView:vmListView,
+ actionPreFilter:actionPreFilter
});
return true;
};
if (tiers != null && tiers.length > 0) {
- $(tiers).map(function(index, tier) {
+ $(tiers).map(function (index, tier) {
var $tier = elems.tier({
- ipAddresses: ipAddresses,
- acl: acl,
- $browser: $browser,
- detailView: tierDetailView,
- name: tier.name,
- cidr: tier.cidr,
- virtualMachines: tier.virtualMachines,
- vmListView: vmListView,
- actions: actions,
- actionPreFilter: actionPreFilter,
- context: $.extend(true, {}, context, {
- networks: [tier]
+ ipAddresses:ipAddresses,
+ acl:acl,
+ $browser:$browser,
+ detailView:tierDetailView,
+ name:tier.name,
+ cidr:tier.cidr,
+ virtualMachines:tier.virtualMachines,
+ vmListView:vmListView,
+ actions:actions,
+ actionPreFilter:actionPreFilter,
+ context:$.extend(true, {}, context, {
+ networks:[tier]
})
});
@@ -530,7 +553,7 @@
}
- elems.tier({ isPlaceholder: true }).appendTo($tiers)
+ elems.tier({ isPlaceholder:true }).appendTo($tiers)
.click(showAddTierDialog);
$tiers.prepend($router);
$chart.append($title, $tiers);
@@ -799,6 +822,7 @@
var gateways = args.gateways;
var acl = args.acl;
var siteToSiteVPN = args.siteToSiteVPN;
+ var routerDetailView = args.routerDetailView;
return function(args) {
var context = args.context;
@@ -849,6 +873,7 @@
gateways: gateways,
acl: acl,
tierDetailView: tierDetailView,
+ routerDetailView: routerDetailView,
siteToSiteVPN: siteToSiteVPN,
vmListView: vmListView,
context: context,
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/9394e838/ui/scripts/vpc.js
----------------------------------------------------------------------
diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js
index dfa3f34..d25458b 100644
--- a/ui/scripts/vpc.js
+++ b/ui/scripts/vpc.js
@@ -248,6 +248,14 @@
};
cloudStack.vpc = {
+ routerDetailView: function() {
+ return {
+ title: 'VPC router details',
+ tabs: {
+ routerDetails:
cloudStack.sections.network.sections.vpc.listView.detailView.tabs.router
+ }
+ };
+ },
vmListView: {
id: 'vpcTierInstances',
listView: {