You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/02/14 00:18:02 UTC
[5/6] git commit: refs/heads/ui-multiple-vlan-ranges - Multiple vlan
ranges: fix state handling, layout
Multiple vlan ranges: fix state handling, layout
-Reconstruct list of vlan ranges, which are always erased,
when going back/forward a step.
-Cleanup DOM structure for vlan range items.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/588b4522
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/588b4522
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/588b4522
Branch: refs/heads/ui-multiple-vlan-ranges
Commit: 588b452201e38b4474bd197e1531ce04f92fe33c
Parents: 4e5bf9b
Author: Brian Federle <br...@citrix.com>
Authored: Tue Feb 12 14:30:13 2013 -0800
Committer: Brian Federle <br...@citrix.com>
Committed: Wed Feb 13 15:16:09 2013 -0800
----------------------------------------------------------------------
ui/scripts/ui-custom/zoneWizard.js | 59 +++++++++++++++++++++++++-----
1 files changed, 49 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/588b4522/ui/scripts/ui-custom/zoneWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui-custom/zoneWizard.js b/ui/scripts/ui-custom/zoneWizard.js
index 6eb04da..43fa625 100644
--- a/ui/scripts/ui-custom/zoneWizard.js
+++ b/ui/scripts/ui-custom/zoneWizard.js
@@ -742,35 +742,74 @@
var $physicalNetworks = physicalNetwork.getNetworks($wizard);
var $tabs = guestTraffic.makeTabs($physicalNetworks, args);
var $container = guestTraffic.getMainContainer($wizard);
- var $expand = $('<div title="Add multiple VLAN Ranges">').addClass('expand');
- var $expandlabel = $('<div>').addClass('expand-label').html('Add VLAN Range');
+ var $expand = $('<div title="Add multiple VLAN Ranges">').addClass('expand').append(
+ $('<span>').addClass('icon').html(' '),
+ $('<span>Add VLAN range</span>')
+ );
var $hide = $('<div title="Hide VLAN Range">').addClass('hide');
var $hidelabel = $('<div>').addClass('hide-label').html('Hide VLAN Range');
+ var data = getData($wizard, { all: true });
+ var $vlanRanges, $vlanRangeFirst, $subnav;
// Cleanup
guestTraffic.remove($wizard);
$container.find('.content form').hide();
$tabs.appendTo($container.find('.content .select-container'));
- var $subnav = $container.find('ul.subnav').remove(); // Fix to avoid subnav becoming tab ul
+ $subnav = $container.find('ul.subnav').remove(); // Fix to avoid subnav becoming tab ul
$container.tabs();
$container.prepend($subnav);
$container.find('.field').hide();
$container.find('[rel=vlanRange]').show();
- $expand.appendTo($container.find('.content .select-container .physical-network-item form [rel=vlanRange]'));
- $expandlabel.appendTo($container.find('.content .select-container .physical-network-item form .expand'));
+ $vlanRanges = $container.find('.field[rel=vlanRange]:visible');
+ $vlanRangeFirst = $vlanRanges.filter(':first');
+
+ //
+ // Multiple Vlan Ranges functionality
+ //
+ var addVlan = function(options) {
+ var $vlanClone = $vlanRangeFirst.clone()
+ .insertAfter($container.find('.field[rel=vlanRange]:visible').filter(':last'));
- //Multiple Vlan Ranges functionality
- $expand.click(function() {
+ var $remove = $hide.clone()
+ .appendTo($vlanClone);
- var $vlanClone = $container.find('[rel=vlanRange]:first').clone().removeClass('field').insertBefore($container.find('.expand'));
- //$vlan.appendTo($container.find('.content .select-container .physical-network-item form'));
- var $remove = $hide.clone().appendTo($vlanClone);
+ if (options) {
+ if (options.start)
+ $vlanClone.find('input:first').val(options.start);
+
+ if (options.end)
+ $vlanClone.find('input:last').val(options.end);
+ }
$remove.click(function() {
$vlanClone.remove();
});
+ };
+
+ $expand.insertAfter($container.find('form [rel=vlanRange]')).click(function() {
+ addVlan();
});
+
+ if (data.vlanRangeStart || data.vlanRangeEnd) {
+ if (($.isArray(data.vlanRangeStart) || $.isArray(data.vlanRangeEnd)) &&
+ (data.vlanRangeStart.length > 1 || data.vlanRangeEnd.length > 1)) {
+ $(data.vlanRangeStart).map(function(index) {
+ if (index) {
+ addVlan({
+ start: data.vlanRangeStart[index],
+ end: data.vlanRangeEnd[index]
+ });
+ }
+ });
+
+ $vlanRangeFirst.find('input:first').val(data.vlanRangeStart[0]);
+ $vlanRangeFirst.find('input:last').val(data.vlanRangeEnd[0]);
+ } else { // Only 1 vlan range
+ $vlanRangeFirst.find('input:first').val(data.vlanRangeStart);
+ $vlanRangeFirst.find('input:last').val(data.vlanRangeEnd);
+ }
+ }
},
/**