diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index 632132e2f20..b1585971fdf 100644
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -1065,6 +1065,10 @@
}
}
}
+
+ if("vpc" in args.context)
+ array1.push("&vpcid=" + args.context.vpc[0].id);
+
$.ajax({
url: createURL("listPublicIpAddresses&listAll=true&page=" + args.page + "&pagesize=" + pageSize + array1.join("")),
data: data,
diff --git a/ui/scripts/ui-custom/vpc.js b/ui/scripts/ui-custom/vpc.js
index 90ce2a621eb..18725567695 100644
--- a/ui/scripts/ui-custom/vpc.js
+++ b/ui/scripts/ui-custom/vpc.js
@@ -12,6 +12,8 @@
var elems = {
vpcConfigureTooltip: function(args) {
var $browser = args.$browser;
+ var ipAddresses = args.ipAddresses;
+ var gateways = args.gateways;
var siteToSiteVPN = args.siteToSiteVPN;
var links = {
'ip-addresses': 'IP Addresses',
@@ -32,13 +34,24 @@
$link.appendTo($links);
// Link event
- $link.click(function() {
+ $link.click(function() {
switch (id) {
- case 'site-to-site-vpn':
+ case 'ip-addresses':
+ $browser.cloudBrowser('addPanel', {
+ title: 'IP Addresses',
+ maximizeIfSelected: true,
+ complete: function($panel) {
+ $panel.listView(ipAddresses.listView(), {context: ipAddresses.context});
+ }
+ });
+ break;
+ case 'gateways':
+ break;
+ case 'site-to-site-vpn':
$browser.cloudBrowser('addPanel', {
title: 'Site-to-site VPNs',
maximizeIfSelected: true,
- complete: function($panel) {
+ complete: function($panel) {
$panel.listView(
$.isFunction(siteToSiteVPN.listView) ?
siteToSiteVPN.listView() : siteToSiteVPN.listView
@@ -46,7 +59,7 @@
}
});
break;
- }
+ }
});
});
@@ -70,9 +83,11 @@
return $tooltip;
},
- vpcConfigureArea: function(args) {
+ vpcConfigureArea: function(args) {
var $browser = args.$browser;
- var siteToSiteVPN = args.siteToSiteVPN;
+ var ipAddresses = args.ipAddresses;
+ var gateways = args.gateways;
+ var siteToSiteVPN = args.siteToSiteVPN;
var $config = $('
').addClass('config-area');
var $configIcon = $('').addClass('icon').html(' ');
@@ -82,6 +97,8 @@
$configIcon.mouseover(function() {
var $tooltip = elems.vpcConfigureTooltip({
$browser: $browser,
+ ipAddresses: ipAddresses,
+ gateways: gateways,
siteToSiteVPN: siteToSiteVPN
});
@@ -223,7 +240,9 @@
},
chart: function(args) {
var $browser = args.$browser;
- var siteToSiteVPN = args.siteToSiteVPN;
+ var ipAddresses = args.ipAddresses;
+ var gateways = args.gateways;
+ var siteToSiteVPN = args.siteToSiteVPN;
var tiers = args.tiers;
var vmListView = args.vmListView;
var actions = args.actions;
@@ -240,7 +259,9 @@
.append(
elems.vpcConfigureArea({
$browser: $browser,
- siteToSiteVPN: siteToSiteVPN
+ ipAddresses: $.extend(ipAddresses, {context: context}),
+ gateways: $.extend(gateways, {context: context}),
+ siteToSiteVPN: $.extend(siteToSiteVPN, {context: context})
})
);
@@ -516,7 +537,9 @@
cloudStack.uiCustom.vpc = function(args) {
var vmListView = args.vmListView;
var tierArgs = args.tiers;
- var siteToSiteVPN = args.siteToSiteVPN;
+ var ipAddresses = args.ipAddresses;
+ var gateways = args.gateways;
+ var siteToSiteVPN = args.siteToSiteVPN;
return function(args) {
var context = args.context;
@@ -536,10 +559,12 @@
tierArgs.dataProvider({
context: context,
response: {
- success: function(args) {
+ success: function(args) {
var tiers = args.tiers;
var $chart = elems.chart({
$browser: $browser,
+ ipAddresses: ipAddresses,
+ gateways: gateways,
siteToSiteVPN: siteToSiteVPN,
vmListView: vmListView,
context: context,
diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js
index ff3cc6631e8..87402d81d75 100644
--- a/ui/scripts/vpc.js
+++ b/ui/scripts/vpc.js
@@ -168,8 +168,7 @@
},
// List view actions
- actions: {
- //???
+ actions: {
start: {
label: 'label.action.start.instance' ,
action: function(args) {
@@ -356,8 +355,7 @@
}
});
}
- }
- //???
+ }
},
dataProvider: function(args) {
var array1 = [];
@@ -406,6 +404,14 @@
}
}
},
+ ipAddresses: {
+ listView: function() {
+ return cloudStack.sections.network.sections.ipAddresses;
+ }
+ },
+ gateways: {
+
+ },
siteToSiteVPN: {
listView: function() {
return cloudStack.sections.network.sections.siteToSiteVpn;