Fix VM details not appearing immediately after enabling static nat

This commit is contained in:
Brian Federle 2011-12-02 11:57:32 -08:00
parent c9328e3a95
commit 601a073d2c
2 changed files with 62 additions and 36 deletions

View File

@ -814,6 +814,24 @@
}
},
staticNATDataProvider: function(args) {
$.ajax({
url: createURL('listPublicIpAddresses'),
data: {
id: args.context.ipAddresses[0].id
},
dataType: 'json',
async: true,
success: function(data) {
var ipAddress = data.listpublicipaddressesresponse.publicipaddress[0];
args.response.success({
data: ipAddress
});
}
});
},
vmDataProvider: function(args) {
$.ajax({
url: createURL('listVirtualMachines'),

View File

@ -46,48 +46,56 @@
var $chart = $('#template').find('.network-chart.static-nat').clone();
var $vmName = $chart.find('li.static-nat-enabled .vmname');
var $browser = $('#browser .container');
var vmID = context.ipAddresses[0].virtualmachineid;
var vmName = context.ipAddresses[0].virtualmachinename;
var vmDetails = args.vmDetails;
var vmDataProvider = args.vmDataProvider;
var vmDetails = args.vmDetails;
args.staticNATDataProvider({
context: context,
response: {
success: function(args) {
var vmID = args.data.virtualmachineid;
var vmName = args.data.virtualmachinename;
$vmName.append(
$('<span>').html('VM: ' + vmName)
);
$vmName.click(function() {
$browser.cloudBrowser('addPanel', {
title: 'Static NAT VM Details',
complete: function($newPanel) {
vmDataProvider({
context: context,
response: {
success: function(args) {
var instance = args.data;
var detailViewArgs = $.extend(true, {}, vmDetails, {
$browser: $browser,
context: $.extend(true, {}, context, {
instances: [instance]
}),
jsonObj: instance,
id: instance.id
});
// No actions available
detailViewArgs.actions = {};
$newPanel.detailView(detailViewArgs);
}
}
});
}
});
});
}
}
});
$chart.find('li.firewall .view-details').click(function() {
makeMultiEditPanel($(this), { title: 'NAT Port Range'});
});
$vmName.append(
$('<span>').html('VM: ' + vmName)
);
$vmName.click(function() {
$browser.cloudBrowser('addPanel', {
title: 'Static NAT VM Details',
complete: function($newPanel) {
vmDataProvider({
context: context,
response: {
success: function(args) {
var instance = args.data;
var detailViewArgs = $.extend(true, {}, vmDetails, {
$browser: $browser,
context: $.extend(true, {}, context, {
instances: [instance]
}),
jsonObj: instance,
id: instance.id
});
// No actions available
detailViewArgs.actions = {};
$newPanel.detailView(detailViewArgs);
}
}
});
}
});
});
return $chart;
};