From 219d9eb9a987387beff52a3852734e049aae1882 Mon Sep 17 00:00:00 2001 From: Darren Embry Date: Fri, 26 Oct 2012 16:38:57 -0400 Subject: fix #2639 (country interface selector in interfaces_ppps_edit.php) also make ppps_edit more jslint ready for good measure --- .../javascript/interfaces_ppps_edit/ppps_edit.js | 106 ++++++++++++--------- 1 file changed, 61 insertions(+), 45 deletions(-) (limited to 'usr/local/www/javascript') diff --git a/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js b/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js index ce4461d..ff6d768 100644 --- a/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js +++ b/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js @@ -1,11 +1,15 @@ +/*jslint white: true, sloppy: true, vars: true, eqeq: true */ +/*jslint browser: true, devel: true */ +/*global show_hide_linkfields, jQuery, country_list */ function update_select_list(new_options, select_list){ var option_array = new_options.split("|"); var i = 0; + var j; select_list.length = 0; - for(var j=0; j < option_array.length-1; j++){ + for(j=0; j < option_array.length-1; j++){ var option = option_array[j].split(","); - var selected = Boolean(parseInt(option[2])); + var selected = Boolean(parseInt(option[2], 10)); select_list[j] = new Option(option[0], option[1], false, selected); //for testing and debugging //select_list.options[option_array.length-1+j] = new Option(option[2].toString() +" "+ selected.toString()); @@ -16,21 +20,22 @@ function update_select_list(new_options, select_list){ function show_advanced(hide){ var select_list = document.iform["interfaces[]"].options; - var adv_rows = parseInt(jQuery('#adv_rows').html()); - var adv_show = Boolean(parseInt(jQuery('#adv_show').html())); - var status = Boolean(parseInt(hide)); + var adv_rows = parseInt(jQuery('#adv_rows').html(), 10); + var adv_show = Boolean(parseInt(jQuery('#adv_show').html(), 10)); + var status = Boolean(parseInt(hide, 10)); + var j, advanced; if (status){ jQuery('#advanced_').hide(); - for(var j=0; j < adv_rows; j++){ - var advanced = "#advanced_" + j.toString(); + for(j=0; j < adv_rows; j++){ + advanced = "#advanced_" + j.toString(); jQuery(advanced).show(); } jQuery('#adv_show').html = "1"; show_hide_linkfields(select_list); } else { jQuery('#advanced_').show(); - for(var j=0; j < adv_rows; j++){ - var advanced = "#advanced_" + j.toString(); + for(j=0; j < adv_rows; j++){ + advanced = "#advanced_" + j.toString(); jQuery(advanced).hide(); } jQuery('#adv_show').html("0"); @@ -40,25 +45,27 @@ function show_advanced(hide){ function show_hide_linkfields(options){ var i = 0; - var port_count = parseInt(jQuery('#port_count').html()); - var adv_show = Boolean(parseInt(jQuery('#adv_show').html())); - for(var j=0; j < port_count; j++){ - var count = j.toString(); - var type = jQuery('#type').val(); - var link = "#link" + count; - var lnklabel = "#linklabel" + count; - var bw = "#bandwidth" + count; - var bwlabel = "#bwlabel" + count; - var mtu = "#mtu" + count; - var mru = "#mru" + count; - var mrru = "#mrru" + count; - var ipfields = "#ip_fields" + count; - var gwfields = "#gw_fields" + count; - var localip = "#localip" + count; - var localiplabel = "#localiplabel" + count; - var subnet = "#subnet" + count; - var gateway = "#gateway" + count; - var gatewaylabel = "#gatewaylabel" + count; + var port_count = parseInt(jQuery('#port_count').html(), 10); + var adv_show = Boolean(parseInt(jQuery('#adv_show').html(), 10)); + var j, count, type, link, lnklabel, bw, bwlabel, mtu, mru, mrru, ipfields, gwfields, localip, + localiplabel, subnet, gateway, gatewaylabel; + for(j=0; j < port_count; j++){ + count = j.toString(); + type = jQuery('#type').val(); + link = "#link" + count; + lnklabel = "#linklabel" + count; + bw = "#bandwidth" + count; + bwlabel = "#bwlabel" + count; + mtu = "#mtu" + count; + mru = "#mru" + count; + mrru = "#mrru" + count; + ipfields = "#ip_fields" + count; + gwfields = "#gw_fields" + count; + localip = "#localip" + count; + localiplabel = "#localiplabel" + count; + subnet = "#subnet" + count; + gateway = "#gateway" + count; + gatewaylabel = "#gatewaylabel" + count; jQuery(ipfields + ',' + gwfields + ',' + link).hide(); jQuery(subnet).prop('disabled',true); @@ -111,30 +118,26 @@ function updateType(t){ show_advanced('0'); jQuery("#select").show(); switch(t) { - case "select": { + case "select": jQuery('#ppp,#pppoe,#ppp_provider,#phone_num,#apn_').hide(); select_list.length = 0; select_list[0] = new Option("Select Link Type First",""); break; - } - case "ppp": { + case "ppp": update_select_list(serialports, select_list); jQuery('#select,#pppoe').hide(); jQuery('#ppp_provider,#phone_num,#apn_').show(); country_list(); break; - } - case "pppoe": { + case "pppoe": update_select_list(ports, select_list); jQuery('#select,#ppp,#ppp_provider,#phone_num,#apn_').hide(); break; - } case "l2tp": - case "pptp": { + case "pptp": update_select_list(ports, select_list); jQuery('#select,#ppp,#pppoe,#ppp_provider,#phone_num,#apn_').hide(); break; - } default: select_list.length = 0; select_list[0] = new Option("Select Link Type First",""); @@ -163,13 +166,18 @@ function country_list() { jQuery('#country option').remove(); jQuery('#provider option').remove(); jQuery('#providerplan option').remove(); + jQuery('#country').append(new Option('', '')); jQuery.ajax("getserviceproviders.php",{ success: function(responseText) { var responseTextArr = responseText.split("\n"); + var value, i, country; responseTextArr.sort(); - for(i in responseTextArr) { - country = responseTextArr[i].split(":"); - jQuery('#country').append(new Option(country[0],country[1])); + for (i = 0; i < responseTextArr.length; i += 1) { + value = responseTextArr[i]; + if (/\S/.test(value)) { + country = value.split(":"); + jQuery('#country').append(new Option(country[0],country[1])); + } } } }); @@ -179,14 +187,19 @@ function country_list() { function providers_list() { jQuery('#provider option').remove(); jQuery('#providerplan option').remove(); + jQuery('#provider').append(new Option('', '')); jQuery.ajax("getserviceproviders.php",{ type: 'POST', data: {country : jQuery('#country').val()}, success: function(responseText) { var responseTextArr = responseText.split("\n"); + var value, i; responseTextArr.sort(); - for(i in responseTextArr) { - jQuery('#provider').append(new Option(responseTextArr[i],responseTextArr[i])); + for (i = 0; i < responseTextArr.length; i += 1) { + value = responseTextArr[i]; + if (/\S/.test(value)) { + jQuery('#provider').append(new Option(value, value)); + } } } }); @@ -202,11 +215,14 @@ function providerplan_list() { data: {country : jQuery('#country').val(), provider : jQuery('#provider').val()}, success: function(responseText) { var responseTextArr = responseText.split("\n"); + var value, providerplan, i; responseTextArr.sort(); - for(i in responseTextArr) { - if(responseTextArr[i] != "") { - providerplan = responseTextArr[i].split(":"); - jQuery('#providerplan').append(new Option(providerplan[0] + " - " + providerplan[1],providerplan[1])); + for (i = 0; i < responseTextArr.length; i += 1) { + value = responseTextArr[i]; + if (/\S/.test(value)) { + providerplan = value.split(":"); + jQuery('#providerplan').append(new Option(providerplan[0] + " - " + providerplan[1], + providerplan[1])); } } } -- cgit v1.1