diff options
author | Ermal Luçi <eri@pfsense.org> | 2009-07-23 21:05:29 +0000 |
---|---|---|
committer | Ermal Luçi <eri@pfsense.org> | 2009-07-23 21:05:29 +0000 |
commit | 0cea9a236535cb6f86ba376bf5365c8b60bf9449 (patch) | |
tree | 99a84f998e930b25ebd29da47f426f30cf4359e5 /usr | |
parent | 8c935892a7fcd5d58f27ca96f80f5870285ebf5a (diff) | |
download | pfsense-0cea9a236535cb6f86ba376bf5365c8b60bf9449.zip pfsense-0cea9a236535cb6f86ba376bf5365c8b60bf9449.tar.gz |
Add the id tag to the row helper javascript created input objects. Make the controls of aliases clearly show that they can be even alias names with autocomplete.(Loop checking is not yet implemented).
Diffstat (limited to 'usr')
-rwxr-xr-x | usr/local/www/firewall_aliases_edit.php | 40 | ||||
-rwxr-xr-x | usr/local/www/javascript/row_helper.js | 2 |
2 files changed, 39 insertions, 3 deletions
diff --git a/usr/local/www/firewall_aliases_edit.php b/usr/local/www/firewall_aliases_edit.php index 90c0673..f2b956e 100755 --- a/usr/local/www/firewall_aliases_edit.php +++ b/usr/local/www/firewall_aliases_edit.php @@ -244,6 +244,8 @@ include("head.inc"); $jscriptstr = <<<EOD <script type="text/javascript"> + +var objAlias = new Array(4999); function typesel_change() { switch (document.iform.type.selectedIndex) { case 0: /* host */ @@ -300,6 +302,13 @@ function typesel_change() { } } +function add_alias_control() { + var name = "address" + (totalrows - 1); + obj = document.getElementById(name); + obj.setAttribute('class', 'formfldalias'); + obj.setAttribute('autocomplete', 'off'); + objAlias[totalrows - 1] = new AutoSuggestControl(obj, new StateSuggestions(addressarray)); +} EOD; $network_str = gettext("Network"); @@ -374,6 +383,10 @@ EOD; <script type="text/javascript" src="/javascript/row_helper.js"> </script> +<script type="text/javascript" src="/javascript/autosuggest.js"> +</script> +<script type="text/javascript" src="/javascript/suggestions.js"> +</script> <input type='hidden' name='address_type' value='textbox' /> <input type='hidden' name='address_subnet_type' value='select' /> @@ -480,7 +493,7 @@ EOD; ?> <tr> <td> - <input name="address<?php echo $tracker; ?>" type="text" class="formfld unknown" id="address<?php echo $tracker; ?>" size="30" value="<?=htmlspecialchars($address);?>" /> + <input autocomplete="off" name="address<?php echo $tracker; ?>" type="text" class="formfldalias" id="address<?php echo $tracker; ?>" size="30" value="<?=htmlspecialchars($address);?>" /> </td> <td> <select name="address_subnet<?php echo $tracker; ?>" class="formselect" id="address_subnet<?php echo $tracker; ?>"> @@ -508,7 +521,7 @@ EOD; </tfoot> </table> - <a onclick="javascript:addRowTo('maintable'); typesel_change(); return false;" href="#"> + <a onclick="javascript:addRowTo('maintable', 'formfldalias'); typesel_change(); add_alias_control(this); return false;" href="#"> <img border="0" src="/themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" alt="" title="add another entry" /> </a> </td> @@ -533,6 +546,29 @@ EOD; loaded = <?php echo $counter; ?>; typesel_change(); update_box_type(); + +<?php + $isfirst = 0; + $aliases = ""; + $addrisfirst = 0; + $aliasesaddr = ""; + if(isset($config['aliases']['alias']) && is_array($config['aliases']['alias'])) + foreach($config['aliases']['alias'] as $alias_name) { + if($addrisfirst == 1) $aliasesaddr .= ","; + $aliasesaddr .= "'" . $alias_name['name'] . "'"; + $addrisfirst = 1; + } +?> + + var addressarray=new Array(<?php echo $aliasesaddr; ?>); + var customarray=new Array(<?php echo $aliases; ?>); + +<?php + for ($jv = 0; $jv < $counter; $jv++) + echo "objAlias[{$jv}] = new AutoSuggestControl(document.getElementById(\"address{$jv}\"), new StateSuggestions(addressarray));\n"; +?> + + </script> <?php include("fend.inc"); ?> diff --git a/usr/local/www/javascript/row_helper.js b/usr/local/www/javascript/row_helper.js index 15d23f1..8193043 100755 --- a/usr/local/www/javascript/row_helper.js +++ b/usr/local/www/javascript/row_helper.js @@ -25,7 +25,7 @@ var addRowTo = (function() { for (i = 0; i < field_counter_js; i++) { td = d.createElement("td"); if(rowtype[i] == 'textbox') { - td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input size='" + rowsize[i] + "' class='formfld unknown' name='" + rowname[i] + totalrows + "'></input> "; + td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input size='" + rowsize[i] + "' class='formfld unknown' name='" + rowname[i] + totalrows + "' id='" + rowname[i] + totalrows + "'></input> "; } else if(rowtype[i] == 'select') { td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select size='1' name='" + rowname[i] + totalrows + "'><option value=\"32\" selected>32</option><option value=\"31\" >31</option><option value=\"30\" >30</option><option value=\"29\" >29</option><option value=\"28\" >28</option><option value=\"27\" >27</option><option value=\"26\" >26</option><option value=\"25\" >25</option><option value=\"24\" >24</option><option value=\"23\" >23</option><option value=\"22\" >22</option><option value=\"21\" >21</option><option value=\"20\" >20</option><option value=\"19\" >19</option><option value=\"18\" >18</option><option value=\"17\" >17</option><option value=\"16\" >16</option><option value=\"15\" >15</option><option value=\"14\" >14</option><option value=\"13\" >13</option><option value=\"12\" >12</option><option value=\"11\" >11</option><option value=\"10\" >10</option><option value=\"9\" >9</option><option value=\"8\" >8</option><option value=\"7\" >7</option><option value=\"6\" >6</option><option value=\"5\" >5</option><option value=\"4\" >4</option><option value=\"3\" >3</option><option value=\"2\" >2</option><option value=\"1\" >1</option></select> "; } else { |