[PATCH V2] Fix Add Network window

VLans and Interfaces must only be available for selection if network type Bridge is selected. This restriction was not implemented in the UI. This patch fixes this problem. Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com> --- ui/js/src/kimchi.network.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js index faf1285..0f8575b 100644 --- a/ui/js/src/kimchi.network.js +++ b/ui/js/src/kimchi.network.js @@ -210,11 +210,27 @@ kimchi.openNetworkDialog = function(okCallback) { $("#networkConfig").dialog("open"); }; +kimchi.enableBridgeOptions = function(enable) { + $("#enableVlan").prop("disabled", !enable); + $("#networkInterface").prop("disabled", !enable); + + if (!enable) { + $("#enableVlan").attr("checked", false); + $("#networkVlanID").prop("disabled", true); + $("#networkVlanID").val(""); + $("#networkInterface").val(""); + } else if (!$("#networkInterface").val()){ + $("#networkInterface").prop("selectedIndex", 0); + } +}; + kimchi.setDefaultNetworkType = function(isInterfaceAvail) { $("#networkTypeBri").prop("checked", isInterfaceAvail); $("#networkTypeBri").prop("disabled", !isInterfaceAvail); - $("#networkInterface").prop("disabled", !isInterfaceAvail); $("#networkTypeNat").prop("checked", !isInterfaceAvail); + if (!isInterfaceAvail) { + kimchi.enableBridgeOptions(false); + } }; kimchi.getNetworkDialogValues = function() { @@ -250,12 +266,15 @@ kimchi.setupNetworkFormEvent = function() { }); $("#networkTypeIso").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeNat").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeBri").on("click", function(event) { $("#networkInterface").prop("disabled", false); + kimchi.enableBridgeOptions(true); }); }; -- 1.8.5.3

Reviewed-by: Crístian Viana <vianac@linux.vnet.ibm.com> Am 26-02-2014 11:02, schrieb Rodrigo Trujillo:
VLans and Interfaces must only be available for selection if network type Bridge is selected. This restriction was not implemented in the UI. This patch fixes this problem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com>

Reviewed-by: Daniel Barboza <danielhb@linux.vnet.ibm.com> On 02/26/2014 11:02 AM, Rodrigo Trujillo wrote:
VLans and Interfaces must only be available for selection if network type Bridge is selected. This restriction was not implemented in the UI. This patch fixes this problem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com> --- ui/js/src/kimchi.network.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js index faf1285..0f8575b 100644 --- a/ui/js/src/kimchi.network.js +++ b/ui/js/src/kimchi.network.js @@ -210,11 +210,27 @@ kimchi.openNetworkDialog = function(okCallback) { $("#networkConfig").dialog("open"); };
+kimchi.enableBridgeOptions = function(enable) { + $("#enableVlan").prop("disabled", !enable); + $("#networkInterface").prop("disabled", !enable); + + if (!enable) { + $("#enableVlan").attr("checked", false); + $("#networkVlanID").prop("disabled", true); + $("#networkVlanID").val(""); + $("#networkInterface").val(""); + } else if (!$("#networkInterface").val()){ + $("#networkInterface").prop("selectedIndex", 0); + } +}; + kimchi.setDefaultNetworkType = function(isInterfaceAvail) { $("#networkTypeBri").prop("checked", isInterfaceAvail); $("#networkTypeBri").prop("disabled", !isInterfaceAvail); - $("#networkInterface").prop("disabled", !isInterfaceAvail); $("#networkTypeNat").prop("checked", !isInterfaceAvail); + if (!isInterfaceAvail) { + kimchi.enableBridgeOptions(false); + } };
kimchi.getNetworkDialogValues = function() { @@ -250,12 +266,15 @@ kimchi.setupNetworkFormEvent = function() { }); $("#networkTypeIso").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeNat").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeBri").on("click", function(event) { $("#networkInterface").prop("disabled", false); + kimchi.enableBridgeOptions(true); }); };

On 02/26/2014 11:02 AM, Rodrigo Trujillo wrote:
VLans and Interfaces must only be available for selection if network type Bridge is selected. This restriction was not implemented in the UI. This patch fixes this problem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com> --- ui/js/src/kimchi.network.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js index faf1285..0f8575b 100644 --- a/ui/js/src/kimchi.network.js +++ b/ui/js/src/kimchi.network.js @@ -210,11 +210,27 @@ kimchi.openNetworkDialog = function(okCallback) { $("#networkConfig").dialog("open"); };
+kimchi.enableBridgeOptions = function(enable) { + $("#enableVlan").prop("disabled", !enable); + $("#networkInterface").prop("disabled", !enable); + + if (!enable) { + $("#enableVlan").attr("checked", false); + $("#networkVlanID").prop("disabled", true); + $("#networkVlanID").val(""); + $("#networkInterface").val(""); + } else if (!$("#networkInterface").val()){ + $("#networkInterface").prop("selectedIndex", 0); + } +}; +
I'd rather do not display the fields until Bridged option is selected. Using .hide() and .slideDown() it is easy to do
kimchi.setDefaultNetworkType = function(isInterfaceAvail) { $("#networkTypeBri").prop("checked", isInterfaceAvail); $("#networkTypeBri").prop("disabled", !isInterfaceAvail); - $("#networkInterface").prop("disabled", !isInterfaceAvail); $("#networkTypeNat").prop("checked", !isInterfaceAvail); + if (!isInterfaceAvail) { + kimchi.enableBridgeOptions(false); + } };
kimchi.getNetworkDialogValues = function() { @@ -250,12 +266,15 @@ kimchi.setupNetworkFormEvent = function() { }); $("#networkTypeIso").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeNat").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeBri").on("click", function(event) { $("#networkInterface").prop("disabled", false); + kimchi.enableBridgeOptions(true); }); };

On 02/26/2014 02:15 PM, Aline Manera wrote:
On 02/26/2014 11:02 AM, Rodrigo Trujillo wrote:
VLans and Interfaces must only be available for selection if network type Bridge is selected. This restriction was not implemented in the UI. This patch fixes this problem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo@linux.vnet.ibm.com> --- ui/js/src/kimchi.network.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js index faf1285..0f8575b 100644 --- a/ui/js/src/kimchi.network.js +++ b/ui/js/src/kimchi.network.js @@ -210,11 +210,27 @@ kimchi.openNetworkDialog = function(okCallback) { $("#networkConfig").dialog("open"); };
+kimchi.enableBridgeOptions = function(enable) { + $("#enableVlan").prop("disabled", !enable); + $("#networkInterface").prop("disabled", !enable); + + if (!enable) { + $("#enableVlan").attr("checked", false); + $("#networkVlanID").prop("disabled", true); + $("#networkVlanID").val(""); + $("#networkInterface").val(""); + } else if (!$("#networkInterface").val()){ + $("#networkInterface").prop("selectedIndex", 0); + } +}; +
I'd rather do not display the fields until Bridged option is selected.
Using .hide() and .slideDown() it is easy to do
I suggest put the both div elements (destination and VLAN) in the same parent div and slideDown() the parent <div id=bridge-options> <div class=destination> </div> <div class=VLAN> </div> </div> $('#bridge-options').slideDown() or $('#bridge-options').hide()
kimchi.setDefaultNetworkType = function(isInterfaceAvail) { $("#networkTypeBri").prop("checked", isInterfaceAvail); $("#networkTypeBri").prop("disabled", !isInterfaceAvail); - $("#networkInterface").prop("disabled", !isInterfaceAvail); $("#networkTypeNat").prop("checked", !isInterfaceAvail); + if (!isInterfaceAvail) { + kimchi.enableBridgeOptions(false); + } };
kimchi.getNetworkDialogValues = function() { @@ -250,12 +266,15 @@ kimchi.setupNetworkFormEvent = function() { }); $("#networkTypeIso").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeNat").on("click", function(event) { $("#networkInterface").prop("disabled", true); + kimchi.enableBridgeOptions(false); }); $("#networkTypeBri").on("click", function(event) { $("#networkInterface").prop("disabled", false); + kimchi.enableBridgeOptions(true); }); };
_______________________________________________ Kimchi-devel mailing list Kimchi-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/kimchi-devel
participants (4)
-
Aline Manera
-
Crístian Viana
-
Daniel H Barboza
-
Rodrigo Trujillo