/** * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. * * This software is licensed under the GNU General Public License v3 or later. * * It is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ function afterLoadNetworkJSP($leftmenuItem1) { var zoneObj = $leftmenuItem1.data("jsonObj"); if(zoneObj == null) return; showMiddleMenu(); disableMultipleSelectionInMidMenu(); //switch between different tabs - Public Network page var $publicNetworkPage = $("#public_network_page"); var tabArray = [$publicNetworkPage.find("#tab_details"), $publicNetworkPage.find("#tab_ipallocation"), $publicNetworkPage.find("#tab_firewall"), $publicNetworkPage.find("#tab_loadbalancer")]; var tabContentArray = [$publicNetworkPage.find("#tab_content_details"), $publicNetworkPage.find("#tab_content_ipallocation"), $publicNetworkPage.find("#tab_content_firewall"), $publicNetworkPage.find("#tab_content_loadbalancer")]; var afterSwitchFnArray = [publicNetworkJsonToDetailsTab, publicNetworkJsonToIpAllocationTab, publicNetworkJsonToFirewallTab, publicNetworkJsonToLoadBalancerTab]; switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray); //switch between different tabs - Direct Network page var $directNetworkPage = $("#direct_network_page"); var tabArray = [$directNetworkPage.find("#tab_details"), $directNetworkPage.find("#tab_ipallocation")]; var tabContentArray = [$directNetworkPage.find("#tab_content_details"), $directNetworkPage.find("#tab_content_ipallocation")]; var afterSwitchFnArray = [directNetworkJsonToDetailsTab, directNetworkJsonToIpAllocationTab]; switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray); //populate items into middle menu var $midmenuContainer = $("#midmenu_container").empty(); //public network if(zoneObj.networktype == "Advanced") { $.ajax({ data: createURL("command=listNetworks&isSystem=true&zoneId="+zoneObj.id), dataType: "json", async: false, success: function(json) { var items = json.listnetworksresponse.network; if(items != null && items.length > 0) { var item = items[0]; var $midmenuItem1 = $("#midmenu_item").clone(); $midmenuItem1.data("toRightPanelFn", publicNetworkToRightPanel); publicNetworkToMidmenu(item, $midmenuItem1); bindClickToMidMenu($midmenuItem1, publicNetworkToRightPanel, publicNetworkGetMidmenuId); $midmenuContainer.append($midmenuItem1.show()); $midmenuItem1.click(); } } }); } //direct network $.ajax({ data: createURL("command=listNetworks&type=Direct&zoneId="+zoneObj.id), dataType: "json", success: function(json) { var items = json.listnetworksresponse.network; if (items != null && items.length > 0) { for (var i = 0; i < items.length; i++) { var $midmenuItem1 = $("#midmenu_item").clone(); $midmenuItem1.data("toRightPanelFn", directNetworkToRightPanel); directNetworkToMidmenu(items[i], $midmenuItem1); bindClickToMidMenu($midmenuItem1, directNetworkToRightPanel, directNetworkGetMidmenuId); $midmenuContainer.append($midmenuItem1.show()); } } } }); } //***** Public Network (begin) ****************************************************************************************************** function publicNetworkGetMidmenuId(jsonObj) { return "midmenuItem_publicnetework_" + jsonObj.id; } function publicNetworkToMidmenu(jsonObj, $midmenuItem1) { $midmenuItem1.attr("id", publicNetworkGetMidmenuId(jsonObj)); $midmenuItem1.data("jsonObj", jsonObj); /* var $iconContainer = $midmenuItem1.find("#icon_container").show(); $iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png"); */ $midmenuItem1.find("#first_row").text("Public Network"); $midmenuItem1.find("#second_row").text("Network ID: " + fromdb(jsonObj.id)); } function publicNetworkToRightPanel($midmenuItem1) { copyActionInfoFromMidMenuToRightPanel($midmenuItem1); $("#right_panel_content").data("$midmenuItem1", $midmenuItem1); $("#public_network_page").show(); $("#direct_network_page").hide(); $("#public_network_page").find("#tab_details").click(); } function publicNetworkJsonToDetailsTab() { var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1"); if($midmenuItem1 == null) return; var jsonObj = $midmenuItem1.data("jsonObj"); if(jsonObj == null) return; var $thisTab = $("#right_panel_content #public_network_page #tab_content_details"); $thisTab.find("#tab_container").hide(); $thisTab.find("#tab_spinning_wheel").show(); $thisTab.find("#grid_header_title").text(fromdb(jsonObj.networkofferingdisplaytext)); $thisTab.find("#id").text(fromdb(jsonObj.id)); $thisTab.find("#state").text(fromdb(jsonObj.state)); $thisTab.find("#traffictype").text(fromdb(jsonObj.traffictype)); $thisTab.find("#broadcastdomaintype").text(fromdb(jsonObj.broadcastdomaintype)); setBooleanReadField(jsonObj.isshared, $thisTab.find("#isshared")); setBooleanReadField(jsonObj.issystem, $thisTab.find("#issystem")); $thisTab.find("#networkofferingname").text(fromdb(jsonObj.networkofferingname)); $thisTab.find("#networkofferingdisplaytext").text(fromdb(jsonObj.networkofferingdisplaytext)); $thisTab.find("#networkofferingid").text(fromdb(jsonObj.networkofferingid)); $thisTab.find("#related").text(fromdb(jsonObj.related)); $thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid)); $thisTab.find("#dns1").text(fromdb(jsonObj.dns1)); $thisTab.find("#dns2").text(fromdb(jsonObj.dns2)); $thisTab.find("#domainid").text(fromdb(jsonObj.domainid)); $thisTab.find("#account").text(fromdb(jsonObj.account)); $thisTab.find("#tab_container").show(); $thisTab.find("#tab_spinning_wheel").hide(); } function publicNetworkJsonToIpAllocationTab() { var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1"); if($midmenuItem1 == null) return; var jsonObj = $midmenuItem1.data("jsonObj"); if(jsonObj == null) return; var $thisTab = $("#right_panel_content #public_network_page #tab_content_ipallocation"); $thisTab.find("#tab_container").hide(); $thisTab.find("#tab_spinning_wheel").show(); $.ajax({ data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid+"&forvirtualnetwork=true"), //don't need networkid because one zone has only one public network dataType: "json", success: function(json) { var items = json.listvlaniprangesresponse.vlaniprange; var $container = $thisTab.find("#tab_container").empty(); var $template = $("#iprange_template"); if(items != null && items.length > 0) { for(var i=0; i 0) { for(var i=0; i