mirror of https://github.com/apache/cloudstack.git
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.
This commit is contained in:
parent
f5352fa9ce
commit
fd4fe0511b
|
|
@ -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.disabled,
|
||||
.vpc-chart li.tier.virtual-router.disabled span {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.vpc-chart li.tier.virtual-router span {
|
||||
cursor: default;
|
||||
color: #586E82;
|
||||
font-size: 18px;
|
||||
/*+text-shadow:0px 1px 3px #FFFFFF;*/
|
||||
|
|
|
|||
|
|
@ -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
|
||||
})
|
||||
);
|
||||
.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() {
|
||||
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,
|
||||
|
|
|
|||
|
|
@ -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: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue