diff --git a/ui/modules/vpc/vpc.js b/ui/modules/vpc/vpc.js index cb712bc0254..22a82509fbf 100644 --- a/ui/modules/vpc/vpc.js +++ b/ui/modules/vpc/vpc.js @@ -62,10 +62,69 @@ return $router; }, - tierPlaceholder: function() { + tierPlaceholder: function(args) { + var context = args.context; var $placeholder = $('
').addClass('tier-placeholder'); $placeholder.append($('').append('Create network')); + $placeholder.click(function() { + var addAction = cloudStack.vpc.tiers.actions.add; + var form = cloudStack.dialog.createForm({ + context: context, + form: addAction.createForm, + after: function(args) { + var $loading = $('
').addClass('loading-overlay') + .prependTo($placeholder); + + addAction.action({ + context: context, + data: args.data, + response: { + success: function(args) { + var tier = args.data; + + cloudStack.ui.notifications.add( + // Notification + { + desc: addAction.label + }, + + // Success + function(args) { + $loading.remove(); + // addNewTier({ + // ipAddresses: ipAddresses, + // $browser: $browser, + // tierDetailView: tierDetailView, + // context: $.extend(true, {}, context, { + // networks: [tier] + // }), + // tier: tier, + // acl: acl, + // $tiers: $tiers, + // actions: actions, + // actionPreFilter: actionPreFilter, + // vmListView: vmListView + // }); + }, + + {}, + + // Error + function(args) { + $loading.remove(); + } + ); + }, + error: function(errorMsg) { + cloudStack.dialog.notice({ message: _s(errorMsg) }); + $loading.remove(); + } + } + }); + } + }); + }); return $placeholder; }, @@ -168,7 +227,9 @@ }); // Add placeholder tier - $tiers.append(elems.tierPlaceholder()); + $tiers.append(elems.tierPlaceholder({ + context: context + })); } } });