[Kimchi-devel] [PATCH V3] Fix Add Network window
Hongliang Wang
hlwang at linux.vnet.ibm.com
Thu Feb 27 02:32:10 UTC 2014
On 02/27/2014 03:31 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 at linux.vnet.ibm.com>
> ---
> ui/js/src/kimchi.network.js | 22 +++++++++++++++++++++-
> ui/pages/tabs/network.html.tmpl | 20 +++++++++++---------
> 2 files changed, 32 insertions(+), 10 deletions(-)
>
> diff --git a/ui/js/src/kimchi.network.js b/ui/js/src/kimchi.network.js
> index faf1285..c0fe4ff 100644
> --- a/ui/js/src/kimchi.network.js
> +++ b/ui/js/src/kimchi.network.js
> @@ -210,11 +210,28 @@ kimchi.openNetworkDialog = function(okCallback) {
> $("#networkConfig").dialog("open");
> };
>
> +kimchi.enableBridgeOptions = function(enable) {
> + if (!enable) {
> + $("#enableVlan").attr("checked", false);
> + $("#networkVlanID").prop("disabled", true);
Why one is .attr() and the other is .prop()? For input[checked] or
input[disabled], I suggest always use .prop(). If you'd like to use
.attr(), please use it as follows:
$('input').attr('checked', 'checked');
$('input').attr('disabled', 'disabled');
> + $("#networkVlanID").val("");
> + $("#networkInterface").val("");
> + $("#bridge-options").slideUp(100);
> + } else if (!$("#networkInterface").val()){
> + $("#networkInterface").prop("selectedIndex", 0);
> + $("#bridge-options").slideDown(100);
> + }
> +};
> +
> 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);
> + } else {
> + $("#bridge-options").slideDown(100);
> + }
> };
>
> kimchi.getNetworkDialogValues = function() {
> @@ -250,12 +267,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);
> });
> };
>
> diff --git a/ui/pages/tabs/network.html.tmpl b/ui/pages/tabs/network.html.tmpl
> index 83c1d7e..4340e19 100644
> --- a/ui/pages/tabs/network.html.tmpl
> +++ b/ui/pages/tabs/network.html.tmpl
> @@ -71,15 +71,17 @@
> <input type="radio" id="networkTypeBri" name="networkType" value="bridged">
> <label for="networkTypeBri">$_("Bridged: Virtual machines are connected to physical network directly")</label>
> </div>
> - <div class="destination">
> - <label>$_("Destination"): </label>
> - <select id="networkInterface"></select>
> - </div>
> - <div class="VLAN">
> - <label for="enableVlan">$_("Enable VLAN"): </label>
> - <input id="enableVlan" type="checkbox" value=""/>
> - <label>$_("VLAN ID"): </label>
> - <input type="text" id="networkVlanID" disabled>
> + <div id=bridge-options>
<div id=*"**bridge-options**"*>
> + <div class="destination">
> + <label>$_("Destination"): </label>
include *for* attribute for <label> element.
> + <select id="networkInterface"></select>
> + </div>
> + <div class="VLAN">
> + <label for="enableVlan">$_("Enable VLAN"): </label>
> + <input id="enableVlan" type="checkbox" value=""/>
> + <label>$_("VLAN ID"): </label>
include *for* attribute for <label> element.
> + <input type="text" id="networkVlanID" disabled>
> + </div>
> </div>
> </div>
> </div>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20140227/f3ff5a4c/attachment.html>
More information about the Kimchi-devel
mailing list