mirror of https://github.com/apache/cloudstack.git
VPC: Add tier detail view
On click of tier name, show a detail view of the specific tier.
This implemented as follows:
tiers: {
detailView: {
name: 'Tier details',
tabs: {
details: {
title: 'Details',
fields: [
{ id: { label: 'ID' }},
{
name: { label: 'Name' },
cidr: { label: 'CIDR' }
}
],
dataProvider: function(args) {
args.response.success({
data: args.context.networks[0]
});
}
}
}
},
...
This commit is contained in:
parent
b2e1dd7697
commit
722d8faf17
|
|
@ -9013,11 +9013,13 @@ div.panel.ui-dialog div.list-view div.fixed-header {
|
||||||
|
|
||||||
.vpc-chart li.tier span.title {
|
.vpc-chart li.tier span.title {
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
/*+placement:shift 11px 13px;*/
|
/*+placement:shift 8px 7px;*/
|
||||||
position: relative;
|
position: relative;
|
||||||
left: 11px;
|
left: 8px;
|
||||||
top: 13px;
|
top: 7px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 3px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
/*+text-shadow:1px 2px 2px #000000;*/
|
/*+text-shadow:1px 2px 2px #000000;*/
|
||||||
-moz-text-shadow: 1px 2px 2px #000000;
|
-moz-text-shadow: 1px 2px 2px #000000;
|
||||||
|
|
@ -9175,7 +9177,8 @@ div.panel.ui-dialog div.list-view div.fixed-header {
|
||||||
margin: 4px;
|
margin: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vpc-chart li.tier .vm-count:hover {
|
.vpc-chart li.tier .vm-count:hover,
|
||||||
|
.vpc-chart li.tier .title:hover {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid #4C545E;
|
border: 1px solid #4C545E;
|
||||||
background: url(../images/bg-gradients.png) 0px -2751px;
|
background: url(../images/bg-gradients.png) 0px -2751px;
|
||||||
|
|
@ -9229,6 +9232,8 @@ div.panel.ui-dialog div.list-view div.fixed-header {
|
||||||
-webkit-text-shadow: 0px 0px 7px #FFFFFF;
|
-webkit-text-shadow: 0px 0px 7px #FFFFFF;
|
||||||
-o-text-shadow: 0px 0px 7px #FFFFFF;
|
-o-text-shadow: 0px 0px 7px #FFFFFF;
|
||||||
text-shadow: 0px 0px 7px #FFFFFF;
|
text-shadow: 0px 0px 7px #FFFFFF;
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vpc-chart li.tier.virtual-router {
|
.vpc-chart li.tier.virtual-router {
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,8 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
var detailView = args.detailView;
|
||||||
|
var $browser = args.$browser;
|
||||||
var isPlaceholder = args.isPlaceholder;
|
var isPlaceholder = args.isPlaceholder;
|
||||||
var virtualMachines = args.virtualMachines;
|
var virtualMachines = args.virtualMachines;
|
||||||
var $tier = $('<li>').addClass('tier');
|
var $tier = $('<li>').addClass('tier');
|
||||||
|
|
@ -170,6 +172,19 @@
|
||||||
}).closest('.ui-dialog').overlay();
|
}).closest('.ui-dialog').overlay();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Title shows tier details
|
||||||
|
$title.click(function() {
|
||||||
|
$browser.cloudBrowser('addPanel', {
|
||||||
|
title: name,
|
||||||
|
maximizeIfSelected: true,
|
||||||
|
complete: function($panel) {
|
||||||
|
$panel.detailView($.extend(true, {}, detailView, {
|
||||||
|
context: context
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
if (isPlaceholder) {
|
if (isPlaceholder) {
|
||||||
$tier.addClass('placeholder');
|
$tier.addClass('placeholder');
|
||||||
$title.html('Create Tier');
|
$title.html('Create Tier');
|
||||||
|
|
@ -248,6 +263,7 @@
|
||||||
var actionPreFilter = args.actionPreFilter;
|
var actionPreFilter = args.actionPreFilter;
|
||||||
var vpcName = args.vpcName;
|
var vpcName = args.vpcName;
|
||||||
var context = args.context;
|
var context = args.context;
|
||||||
|
var tierDetailView = args.tierDetailView;
|
||||||
var $tiers = $('<ul>').addClass('tiers');
|
var $tiers = $('<ul>').addClass('tiers');
|
||||||
var $router = elems.router();
|
var $router = elems.router();
|
||||||
var $chart = $('<div>').addClass('vpc-chart');
|
var $chart = $('<div>').addClass('vpc-chart');
|
||||||
|
|
@ -270,6 +286,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
addTierDialog({
|
addTierDialog({
|
||||||
|
$browser: $browser,
|
||||||
|
tierDetailView: tierDetailView,
|
||||||
$tiers: $tiers,
|
$tiers: $tiers,
|
||||||
context: context,
|
context: context,
|
||||||
actions: actions,
|
actions: actions,
|
||||||
|
|
@ -283,6 +301,8 @@
|
||||||
if (tiers != null && tiers.length > 0) {
|
if (tiers != null && tiers.length > 0) {
|
||||||
$(tiers).map(function(index, tier) {
|
$(tiers).map(function(index, tier) {
|
||||||
var $tier = elems.tier({
|
var $tier = elems.tier({
|
||||||
|
$browser: $browser,
|
||||||
|
detailView: tierDetailView,
|
||||||
name: tier.name,
|
name: tier.name,
|
||||||
cidr: tier.cidr,
|
cidr: tier.cidr,
|
||||||
virtualMachines: tier.virtualMachines,
|
virtualMachines: tier.virtualMachines,
|
||||||
|
|
@ -458,7 +478,11 @@
|
||||||
var vmListView = args.vmListView;
|
var vmListView = args.vmListView;
|
||||||
var actionPreFilter = args.actionPreFilter;
|
var actionPreFilter = args.actionPreFilter;
|
||||||
var context = args.context;
|
var context = args.context;
|
||||||
|
var $browser = args.$browser;
|
||||||
|
var tierDetailView = args.tierDetailView;
|
||||||
var tier = $.extend(args.tier, {
|
var tier = $.extend(args.tier, {
|
||||||
|
$browser: $browser,
|
||||||
|
detailView: tierDetailView,
|
||||||
context: context,
|
context: context,
|
||||||
vmListView: vmListView,
|
vmListView: vmListView,
|
||||||
actions: actions,
|
actions: actions,
|
||||||
|
|
@ -482,6 +506,8 @@
|
||||||
var vmListView = args.vmListView;
|
var vmListView = args.vmListView;
|
||||||
var actionPreFilter = args.actionPreFilter;
|
var actionPreFilter = args.actionPreFilter;
|
||||||
var $tiers = args.$tiers;
|
var $tiers = args.$tiers;
|
||||||
|
var $browser = args.$browser;
|
||||||
|
var tierDetailView = args.tierDetailView;
|
||||||
|
|
||||||
cloudStack.dialog.createForm({
|
cloudStack.dialog.createForm({
|
||||||
form: actions.add.createForm,
|
form: actions.add.createForm,
|
||||||
|
|
@ -504,6 +530,8 @@
|
||||||
function(args) {
|
function(args) {
|
||||||
$loading.remove();
|
$loading.remove();
|
||||||
addNewTier({
|
addNewTier({
|
||||||
|
$browser: $browser,
|
||||||
|
tierDetailView: tierDetailView,
|
||||||
context: $.extend(true, {}, context, {
|
context: $.extend(true, {}, context, {
|
||||||
networks: [tier]
|
networks: [tier]
|
||||||
}),
|
}),
|
||||||
|
|
@ -564,6 +592,7 @@
|
||||||
$browser: $browser,
|
$browser: $browser,
|
||||||
ipAddresses: ipAddresses,
|
ipAddresses: ipAddresses,
|
||||||
gateways: gateways,
|
gateways: gateways,
|
||||||
|
tierDetailView: tierArgs.detailView,
|
||||||
siteToSiteVPN: siteToSiteVPN,
|
siteToSiteVPN: siteToSiteVPN,
|
||||||
vmListView: vmListView,
|
vmListView: vmListView,
|
||||||
context: context,
|
context: context,
|
||||||
|
|
|
||||||
|
|
@ -857,6 +857,26 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
tiers: {
|
tiers: {
|
||||||
|
detailView: {
|
||||||
|
name: 'Tier details',
|
||||||
|
tabs: {
|
||||||
|
details: {
|
||||||
|
title: 'Details',
|
||||||
|
fields: [
|
||||||
|
{ id: { label: 'ID' }},
|
||||||
|
{
|
||||||
|
name: { label: 'Name' },
|
||||||
|
cidr: { label: 'CIDR' }
|
||||||
|
}
|
||||||
|
],
|
||||||
|
dataProvider: function(args) {
|
||||||
|
args.response.success({
|
||||||
|
data: args.context.networks[0]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
actionPreFilter: function(args) {
|
actionPreFilter: function(args) {
|
||||||
var tier = args.context.networks[0];
|
var tier = args.context.networks[0];
|
||||||
var state = tier.state;
|
var state = tier.state;
|
||||||
|
|
@ -908,7 +928,7 @@
|
||||||
netmask: {
|
netmask: {
|
||||||
label: 'label.netmask',
|
label: 'label.netmask',
|
||||||
validation: { required: true }
|
validation: { required: true }
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
action: function(args) {
|
action: function(args) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue