From d8780d7bac84e931563832fd26cb91dcf780e2fb Mon Sep 17 00:00:00 2001 From: Brian Federle Date: Tue, 29 Nov 2011 15:18:29 -0800 Subject: [PATCH] Add networks list view to Networks section - Add basic list view section - 'Networks' - Add detail view, with view all IP addresses button --- ui/scripts/network.js | 66 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/ui/scripts/network.js b/ui/scripts/network.js index 71c2bb5a779..4bb3f84627f 100644 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -53,12 +53,72 @@ return args.context.sections; } else { - return ['ipAddresses']; + return ['networks', 'ipAddresses']; } }, label: 'Select view' }, sections: { + networks: { + type: 'select', + title: 'Networks', + listView: { + filters: { + all: { label: 'All' }, + mine: { label: 'My network' } + }, + fields: { + name: { label: 'Name' }, + traffictype: { label: 'Traffic Type' }, + gateway: { label: 'Gateway' }, + vlan: { label: 'VLAN' } + }, + dataProvider: function(args) { + $.ajax({ + url: createURL('listNetworks'), + data: { + trafficType: 'Guest' + }, + dataType: 'json', + async: true, + success: function(data) { + args.response.success({ + data: data.listnetworksresponse.network + }); + } + }); + }, + + detailView: { + name: 'Network details', + viewAll: { path: 'network.ipAddresses', label: 'IP Addresses' }, + tabs: { + details: { + title: 'Details', + fields: [ + { + name: { label: 'Name' } + }, + { + name: { label: 'Short name' }, + displaytext: { label: 'Description' }, + traffictype: { label: 'Traffic Type' }, + gateway: { label: 'Gateway' }, + vlan: { label: 'VLAN' } + }, + { + startip: { label: 'Start IP' }, + endip: { label: 'End IP' } + } + ], + dataProvider: function(args) { + args.response.success({ data: args.context.networks[0] }); + } + } + } + } + } + }, ipAddresses: { type: 'select', title: 'IP Addresses', @@ -355,6 +415,10 @@ forloadbalancing: true }); + if (args.context.networks) { + $.extend(data, { associatedNetworkId: args.context.networks[0].id }); + } + $.ajax({ url: createURL('listPublicIpAddresses'), data: data,