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;