diff options
author | gnhb <gnoahb@gmail.com> | 2010-06-03 23:07:44 +0700 |
---|---|---|
committer | gnhb <gnoahb@gmail.com> | 2010-06-03 23:07:44 +0700 |
commit | c5232cbbb986a834d4546cff38f38179b151441e (patch) | |
tree | d1cda2d6f97ceb3c764953647a0867c0e805f46a /usr/local/www/javascript | |
parent | 4749cccb32c4709c032ce5631ea11cbd157c6548 (diff) | |
download | pfsense-c5232cbbb986a834d4546cff38f38179b151441e.zip pfsense-c5232cbbb986a834d4546cff38f38179b151441e.tar.gz |
Rework GUI to hide advanced options and display via button.
requested by Ermal.
Diffstat (limited to 'usr/local/www/javascript')
-rw-r--r-- | usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js | 55 |
1 files changed, 41 insertions, 14 deletions
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 1df660f..513dbdd 100644 --- a/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js +++ b/usr/local/www/javascript/interfaces_ppps_edit/ppps_edit.js @@ -14,16 +14,34 @@ function update_select_list(new_options, select_list){ show_hide_linkfields(select_list); } -function clear_selected(list_name){ - var select_list = document.iform[list_name]; - for(var j=0; j < select_list.options.length; j++){ - select_list.options[j].selected = 0; +function show_advanced(hide){ + var select_list = document.iform["interfaces[]"].options; + var adv_rows = parseInt($('adv_rows').innerHTML); + var adv_show = Boolean(parseInt($('adv_show').innerHTML)); + var status = Boolean(parseInt(hide)); + if (status){ + $('advanced_').hide(); + for(var j=0; j < adv_rows; j++){ + var advanced = "advanced_" + j.toString(); + $(advanced).show(); + } + $('adv_show').innerHTML = "1"; + show_hide_linkfields(select_list); + } else { + $('advanced_').show(); + for(var j=0; j < adv_rows; j++){ + var advanced = "advanced_" + j.toString(); + $(advanced).hide(); + } + $('adv_show').innerHTML = "0"; + show_hide_linkfields(select_list); } } function show_hide_linkfields(options){ var i = 0; var port_count = parseInt($('port_count').innerHTML); + var adv_show = Boolean(parseInt($('adv_show').innerHTML)); for(var j=0; j < port_count; j++){ var count = j.toString(); var type = $('type').value; @@ -62,13 +80,17 @@ function show_hide_linkfields(options){ $(localip).name = "localip[" + options[i].value + "]"; $(subnet).name = "subnet[" + options[i].value + "]"; $(gateway).name = "gateway[" + options[i].value + "]"; - if (type == 'pptp' || type == 'ppp' || type == 'l2tp'){ + if (type == 'ppp' && adv_show){ $(ipfields).show(); - if (type == 'pptp' || type == 'l2tp'){ - $(subnet).disabled = false; - } } - $(link).show(); + if (type == 'pptp' || type == 'l2tp'){ + $(subnet).disabled = false; + $(ipfields).show(); + $('pptp').show(); + } + if (adv_show){ + $(link).show(); + } i++; break; } @@ -82,9 +104,11 @@ function updateType(t){ var serialports = $('serialports').innerHTML; var ports = $('ports').innerHTML; var select_list = document.iform["interfaces[]"].options; + $('adv_show').innerHTML = "0"; + show_advanced('0'); switch(t) { case "select": { - $('ppp','pppoe','pptp','prefil_ppp').invoke('hide'); + $('ppp','pppoe','pptp').invoke('hide'); select_list.length = 0; select_list[0] = new Option("Select Link Type First",""); break; @@ -92,21 +116,24 @@ function updateType(t){ case "ppp": { update_select_list(serialports, select_list); $('select','pppoe','pptp').invoke('hide'); - $('prefil_ppp').show(); country_list(); break; } case "pppoe": { update_select_list(ports, select_list); - $('select','ppp','pptp','prefil_ppp').invoke('hide'); + $('select','ppp','pptp').invoke('hide'); break; } case "l2tp": { - t = "pptp"; + $('pptp_label').innerHTML = "L2TP Configuration"; + update_select_list(ports, select_list); + $('select','ppp','pppoe').invoke('hide'); + break; } case "pptp": { update_select_list(ports, select_list); - $('select','ppp','pppoe','prefil_ppp').invoke('hide'); + $('select','ppp','pppoe').invoke('hide'); + $('pptp_label').innerHTML = "PPTP Configuration"; break; } default: |