summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-02-05 07:06:51 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-02-05 07:06:51 +0000
commitef8b343d4557873b013e1ecc7ed0f199547fa4be (patch)
treef871c0bf576d6c6b0aa7ad7bbb00fc08eff36aa1 /usr
parent19757279cec94a41dede43b712ead3ab343d28d0 (diff)
downloadpfsense-ef8b343d4557873b013e1ecc7ed0f199547fa4be.zip
pfsense-ef8b343d4557873b013e1ecc7ed0f199547fa4be.tar.gz
Add auto_complete_helper.hs auto complete javascript helper file.
Diffstat (limited to 'usr')
-rwxr-xr-xusr/local/www/auto_complete_helper.js290
-rwxr-xr-xusr/local/www/firewall_rules_edit.php294
2 files changed, 292 insertions, 292 deletions
diff --git a/usr/local/www/auto_complete_helper.js b/usr/local/www/auto_complete_helper.js
new file mode 100755
index 0000000..9467ef4
--- /dev/null
+++ b/usr/local/www/auto_complete_helper.js
@@ -0,0 +1,290 @@
+
+/* ---- Variables ---- */
+var actb_timeOut = -1; // Autocomplete Timeout in ms (-1: autocomplete never time out)
+var actb_lim = 4; // Number of elements autocomplete can show (-1: no limit)
+var actb_firstText = false; // should the auto complete be limited to the beginning of keyword?
+/* ---- Variables ---- */
+
+/* --- Styles --- */
+var actb_bgColor = '#888888';
+var actb_textColor = '#FFFFFF';
+var actb_hColor = '#000000';
+var actb_fFamily = 'Courier';
+var actb_fSize = '14px';
+var actb_hStyle = 'text-decoration:underline;font-weight="bold"';
+/* --- Styles --- */
+
+/* ---- Constants ---- */
+var actb_keywords = new Array();
+var actb_display = false;
+var actb_pos = 0;
+var actb_total = 0;
+var actb_curr = null;
+var actb_rangeu = 0;
+var actb_ranged = 0;
+var actb_bool = new Array();
+var actb_pre = 0;
+var actb_toid;
+var actb_tomake = false;
+/* ---- Constants ---- */
+
+function actb_parse(n){
+ var t = escape(actb_curr.value);
+ var tobuild = '';
+ var i;
+
+ if (actb_firstText){
+ var re = new RegExp("^" + t, "i");
+ }else{
+ var re = new RegExp(t, "i");
+ }
+ var p = n.search(re);
+
+ for (i=0;i<p;i++){
+ tobuild += n.substr(i,1);
+ }
+ tobuild += ""
+ for (i=p;i<t.length+p;i++){
+ tobuild += n.substr(i,1);
+ }
+ tobuild += "";
+ for (i=t.length+p;i<n.length;i++){
+ tobuild += n.substr(i,1);
+ }
+ return tobuild;
+}
+function actb_generate(){
+ if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById('tat_table'));
+ a = document.createElement('table');
+ a.cellSpacing='1px';
+ a.cellPadding='2px';
+ a.style.position='absolute';
+ a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
+ a.style.left = curLeft() + "px";
+ a.style.backgroundColor=actb_bgColor;
+ a.id = 'tat_table';
+ document.body.appendChild(a);
+ var i;
+ var first = true;
+ var j = 1;
+
+ var counter = 0;
+ for (i=0;i<actb_keywords.length;i++){
+ if (actb_bool[i]){
+ counter++;
+ r = a.insertRow(-1);
+ if (first && !actb_tomake){
+ r.style.backgroundColor = actb_hColor;
+ first = false;
+ actb_pos = counter;
+ }else if(actb_pre == i){
+ r.style.backgroundColor = actb_hColor;
+ first = false;
+ actb_pos = counter;
+ }else{
+ r.style.backgroundColor = actb_bgColor;
+ }
+ r.id = 'tat_tr'+(j);
+ c = r.insertCell(-1);
+ c.style.color = actb_textColor;
+ c.style.fontFamily = actb_fFamily;
+ c.style.fontSize = actb_fSize;
+ c.innerHTML = actb_parse(actb_keywords[i]);
+ c.id = 'tat_td'+(j);
+ j++;
+ }
+ if (j - 1 == actb_lim && j < actb_total){
+ r = a.insertRow(-1);
+ r.style.backgroundColor = actb_bgColor;
+ c = r.insertCell(-1);
+ c.style.color = actb_textColor;
+ c.style.fontFamily = 'arial narrow';
+ c.style.fontSize = actb_fSize;
+ c.align='center';
+ c.innerHTML = '\\/';
+ break;
+ }
+ }
+ actb_rangeu = 1;
+ actb_ranged = j-1;
+ actb_display = true;
+ if (actb_pos <= 0) actb_pos = 1;
+}
+function curTop(){
+ actb_toreturn = 0;
+ obj = actb_curr;
+ while(obj){
+ actb_toreturn += obj.offsetTop;
+ obj = obj.offsetParent;
+ }
+ return actb_toreturn;
+}
+function curLeft(){
+ actb_toreturn = 0;
+ obj = actb_curr;
+ while(obj){
+ actb_toreturn += obj.offsetLeft;
+ obj = obj.offsetParent;
+ }
+ return actb_toreturn;
+}
+function actb_remake(){
+ document.body.removeChild(document.getElementById('tat_table'));
+ a = document.createElement('table');
+ a.cellSpacing='2px';
+ a.cellPadding='3px';
+ a.style.position='absolute';
+ a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
+ a.style.left = curLeft() + "px";
+ a.style.backgroundColor=actb_bgColor;
+ a.id = 'tat_table';
+ document.body.appendChild(a);
+ var i;
+ var first = true;
+ var j = 1;
+ if (actb_rangeu > 1){
+ r = a.insertRow(-1);
+ r.style.backgroundColor = actb_bgColor;
+ c = r.insertCell(-1);
+ c.style.color = actb_textColor;
+ c.style.fontFamily = 'arial narrow';
+ c.style.fontSize = actb_fSize;
+ c.align='center';
+ c.innerHTML = '/\\';
+ }
+ for (i=0;i<actb_keywords.length;i++){
+ if (actb_bool[i]){
+ if (j >= actb_rangeu && j <= actb_ranged){
+ r = a.insertRow(-1);
+ r.style.backgroundColor = actb_bgColor;
+ r.id = 'tat_tr'+(j);
+ c = r.insertCell(-1);
+ c.style.color = actb_textColor;
+ c.style.fontFamily = actb_fFamily;
+ c.style.fontSize = actb_fSize;
+ c.innerHTML = actb_parse(actb_keywords[i]);
+ c.id = 'tat_td'+(j);
+ j++;
+ }else{
+ j++;
+ }
+ }
+ if (j > actb_ranged) break;
+ }
+ if (j-1 < actb_total){
+ r = a.insertRow(-1);
+ r.style.backgroundColor = actb_bgColor;
+ c = r.insertCell(-1);
+ c.style.color = actb_textColor;
+ c.style.fontFamily = 'arial narrow';
+ c.style.fontSize = actb_fSize;
+ c.align='center';
+ c.innerHTML = '\\/';
+ }
+}
+function actb_goup(){
+ if (!actb_display) return;
+ if (actb_pos == 1) return;
+ document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_bgColor;
+ actb_pos--;
+ if (actb_pos < actb_rangeu) actb_moveup();
+ document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_hColor;
+ if (actb_toid) clearTimeout(actb_toid);
+ if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
+}
+function actb_godown(){
+ if (!actb_display) return;
+ if (actb_pos == actb_total) return;
+ document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_bgColor;
+ actb_pos++;
+ if (actb_pos > actb_ranged) actb_movedown();
+ document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_hColor;
+ if (actb_toid) clearTimeout(actb_toid);
+ if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
+}
+function actb_movedown(){
+ actb_rangeu++;
+ actb_ranged++;
+ actb_remake();
+}
+function actb_moveup(){
+ actb_rangeu--;
+ actb_ranged--;
+ actb_remake();
+}
+function actb_penter(){
+ if (!actb_display) return;
+ actb_display = 0;
+ var word = '';
+ var c = 0;
+ for (var i=0;i<=actb_keywords.length;i++){
+ if (actb_bool[i]) c++;
+ if (c == actb_pos){
+ word = actb_keywords[i];
+ break;
+ }
+ }
+ a = word;//actb_keywords[actb_pos-1];//document.getElementById('tat_td'+actb_pos).;
+ actb_curr.value = a;
+ actb_removedisp();
+}
+function actb_removedisp(){
+ actb_display = 0;
+ if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById('tat_table'));
+ if (actb_toid) clearTimeout(actb_toid);
+}
+function actb_checkkey(evt){
+ a = evt.keyCode;
+ if (a == 38){ // up key
+ actb_goup();
+ }else if(a == 40){ // down key
+ actb_godown();
+ }else if(a == 13){
+ actb_penter();
+ }
+}
+function actb_tocomplete(sndr,evt,arr){
+ if (arr) actb_keywords = arr;
+ if (evt.keyCode == 38 || evt.keyCode == 40 || evt.keyCode == 13) return;
+ var i;
+ if (actb_display){
+ var word = 0;
+ var c = 0;
+ for (var i=0;i<=actb_keywords.length;i++){
+ if (actb_bool[i]) c++;
+ if (c == actb_pos){
+ word = i;
+ break;
+ }
+ }
+ actb_pre = word;//actb_pos;
+ }else{ actb_pre = -1};
+
+ if (!sndr) var sndr = evt.srcElement;
+ actb_curr = sndr;
+
+ if (sndr.value == ''){
+ actb_removedisp();
+ return;
+ }
+ var t = sndr.value;
+ if (actb_firstText){
+ var re = new RegExp("^" + t, "i");
+ }else{
+ var re = new RegExp(t, "i");
+ }
+
+ actb_total = 0;
+ actb_tomake = false;
+ for (i=0;i<actb_keywords.length;i++){
+ actb_bool[i] = false;
+ if (re.test(actb_keywords[i])){
+ actb_total++;
+ actb_bool[i] = true;
+ if (actb_pre == i) actb_tomake = true;
+ }
+ }
+ if (actb_toid) clearTimeout(actb_toid);
+ if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
+ actb_generate(actb_bool);
+}
diff --git a/usr/local/www/firewall_rules_edit.php b/usr/local/www/firewall_rules_edit.php
index dc7d562..becb5c7 100755
--- a/usr/local/www/firewall_rules_edit.php
+++ b/usr/local/www/firewall_rules_edit.php
@@ -816,300 +816,10 @@ foreach($config['aliases']['alias'] as $alias_name) {
var addressarray=new Array(<?php echo $aliasesaddr; ?>);
var customarray=new Array(<?php echo $aliases; ?>);
-/* ---- Variables ---- */
-var actb_timeOut = -1; // Autocomplete Timeout in ms (-1: autocomplete never time out)
-var actb_lim = 4; // Number of elements autocomplete can show (-1: no limit)
-var actb_firstText = false; // should the auto complete be limited to the beginning of keyword?
-/* ---- Variables ---- */
-
-/* --- Styles --- */
-var actb_bgColor = '#888888';
-var actb_textColor = '#FFFFFF';
-var actb_hColor = '#000000';
-var actb_fFamily = 'Verdana';
-var actb_fSize = '11px';
-var actb_hStyle = 'text-decoration:underline;font-weight="bold"';
-/* --- Styles --- */
-
-/* ---- Constants ---- */
-var actb_keywords = new Array();
-var actb_display = false;
-var actb_pos = 0;
-var actb_total = 0;
-var actb_curr = null;
-var actb_rangeu = 0;
-var actb_ranged = 0;
-var actb_bool = new Array();
-var actb_pre = 0;
-var actb_toid;
-var actb_tomake = false;
-/* ---- Constants ---- */
-
-function actb_parse(n){
- var t = escape(actb_curr.value);
- var tobuild = '';
- var i;
-
- if (actb_firstText){
- var re = new RegExp("^" + t, "i");
- }else{
- var re = new RegExp(t, "i");
- }
- var p = n.search(re);
-
- for (i=0;i<p;i++){
- tobuild += n.substr(i,1);
- }
- tobuild += ""
- for (i=p;i<t.length+p;i++){
- tobuild += n.substr(i,1);
- }
- tobuild += "";
- for (i=t.length+p;i<n.length;i++){
- tobuild += n.substr(i,1);
- }
- return tobuild;
-}
-function actb_generate(){
- if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById('tat_table'));
- a = document.createElement('table');
- a.cellSpacing='1px';
- a.cellPadding='2px';
- a.style.position='absolute';
- a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
- a.style.left = curLeft() + "px";
- a.style.backgroundColor=actb_bgColor;
- a.id = 'tat_table';
- document.body.appendChild(a);
- var i;
- var first = true;
- var j = 1;
-
- var counter = 0;
- for (i=0;i<actb_keywords.length;i++){
- if (actb_bool[i]){
- counter++;
- r = a.insertRow(-1);
- if (first && !actb_tomake){
- r.style.backgroundColor = actb_hColor;
- first = false;
- actb_pos = counter;
- }else if(actb_pre == i){
- r.style.backgroundColor = actb_hColor;
- first = false;
- actb_pos = counter;
- }else{
- r.style.backgroundColor = actb_bgColor;
- }
- r.id = 'tat_tr'+(j);
- c = r.insertCell(-1);
- c.style.color = actb_textColor;
- c.style.fontFamily = actb_fFamily;
- c.style.fontSize = actb_fSize;
- c.innerHTML = actb_parse(actb_keywords[i]);
- c.id = 'tat_td'+(j);
- j++;
- }
- if (j - 1 == actb_lim && j < actb_total){
- r = a.insertRow(-1);
- r.style.backgroundColor = actb_bgColor;
- c = r.insertCell(-1);
- c.style.color = actb_textColor;
- c.style.fontFamily = 'arial narrow';
- c.style.fontSize = actb_fSize;
- c.align='center';
- c.innerHTML = '\\/';
- break;
- }
- }
- actb_rangeu = 1;
- actb_ranged = j-1;
- actb_display = true;
- if (actb_pos <= 0) actb_pos = 1;
-}
-function curTop(){
- actb_toreturn = 0;
- obj = actb_curr;
- while(obj){
- actb_toreturn += obj.offsetTop;
- obj = obj.offsetParent;
- }
- return actb_toreturn;
-}
-function curLeft(){
- actb_toreturn = 0;
- obj = actb_curr;
- while(obj){
- actb_toreturn += obj.offsetLeft;
- obj = obj.offsetParent;
- }
- return actb_toreturn;
-}
-function actb_remake(){
- document.body.removeChild(document.getElementById('tat_table'));
- a = document.createElement('table');
- a.cellSpacing='1px';
- a.cellPadding='2px';
- a.style.position='absolute';
- a.style.top = eval(curTop() + actb_curr.offsetHeight) + "px";
- a.style.left = curLeft() + "px";
- a.style.backgroundColor=actb_bgColor;
- a.id = 'tat_table';
- document.body.appendChild(a);
- var i;
- var first = true;
- var j = 1;
- if (actb_rangeu > 1){
- r = a.insertRow(-1);
- r.style.backgroundColor = actb_bgColor;
- c = r.insertCell(-1);
- c.style.color = actb_textColor;
- c.style.fontFamily = 'arial narrow';
- c.style.fontSize = actb_fSize;
- c.align='center';
- c.innerHTML = '/\\';
- }
- for (i=0;i<actb_keywords.length;i++){
- if (actb_bool[i]){
- if (j >= actb_rangeu && j <= actb_ranged){
- r = a.insertRow(-1);
- r.style.backgroundColor = actb_bgColor;
- r.id = 'tat_tr'+(j);
- c = r.insertCell(-1);
- c.style.color = actb_textColor;
- c.style.fontFamily = actb_fFamily;
- c.style.fontSize = actb_fSize;
- c.innerHTML = actb_parse(actb_keywords[i]);
- c.id = 'tat_td'+(j);
- j++;
- }else{
- j++;
- }
- }
- if (j > actb_ranged) break;
- }
- if (j-1 < actb_total){
- r = a.insertRow(-1);
- r.style.backgroundColor = actb_bgColor;
- c = r.insertCell(-1);
- c.style.color = actb_textColor;
- c.style.fontFamily = 'arial narrow';
- c.style.fontSize = actb_fSize;
- c.align='center';
- c.innerHTML = '\\/';
- }
-}
-function actb_goup(){
- if (!actb_display) return;
- if (actb_pos == 1) return;
- document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_bgColor;
- actb_pos--;
- if (actb_pos < actb_rangeu) actb_moveup();
- document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_hColor;
- if (actb_toid) clearTimeout(actb_toid);
- if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
-}
-function actb_godown(){
- if (!actb_display) return;
- if (actb_pos == actb_total) return;
- document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_bgColor;
- actb_pos++;
- if (actb_pos > actb_ranged) actb_movedown();
- document.getElementById('tat_tr'+actb_pos).style.backgroundColor = actb_hColor;
- if (actb_toid) clearTimeout(actb_toid);
- if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
-}
-function actb_movedown(){
- actb_rangeu++;
- actb_ranged++;
- actb_remake();
-}
-function actb_moveup(){
- actb_rangeu--;
- actb_ranged--;
- actb_remake();
-}
-function actb_penter(){
- if (!actb_display) return;
- actb_display = 0;
- var word = '';
- var c = 0;
- for (var i=0;i<=actb_keywords.length;i++){
- if (actb_bool[i]) c++;
- if (c == actb_pos){
- word = actb_keywords[i];
- break;
- }
- }
- a = word;//actb_keywords[actb_pos-1];//document.getElementById('tat_td'+actb_pos).;
- actb_curr.value = a;
- actb_removedisp();
-}
-function actb_removedisp(){
- actb_display = 0;
- if (document.getElementById('tat_table')) document.body.removeChild(document.getElementById('tat_table'));
- if (actb_toid) clearTimeout(actb_toid);
-}
-function actb_checkkey(evt){
- a = evt.keyCode;
- if (a == 38){ // up key
- actb_goup();
- }else if(a == 40){ // down key
- actb_godown();
- }else if(a == 13){
- actb_penter();
- }
-}
-function actb_tocomplete(sndr,evt,arr){
- if (arr) actb_keywords = arr;
- if (evt.keyCode == 38 || evt.keyCode == 40 || evt.keyCode == 13) return;
- var i;
- if (actb_display){
- var word = 0;
- var c = 0;
- for (var i=0;i<=actb_keywords.length;i++){
- if (actb_bool[i]) c++;
- if (c == actb_pos){
- word = i;
- break;
- }
- }
- actb_pre = word;//actb_pos;
- }else{ actb_pre = -1};
-
- if (!sndr) var sndr = evt.srcElement;
- actb_curr = sndr;
-
- if (sndr.value == ''){
- actb_removedisp();
- return;
- }
- var t = sndr.value;
- if (actb_firstText){
- var re = new RegExp("^" + t, "i");
- }else{
- var re = new RegExp(t, "i");
- }
-
- actb_total = 0;
- actb_tomake = false;
- for (i=0;i<actb_keywords.length;i++){
- actb_bool[i] = false;
- if (re.test(actb_keywords[i])){
- actb_total++;
- actb_bool[i] = true;
- if (actb_pre == i) actb_tomake = true;
- }
- }
- if (actb_toid) clearTimeout(actb_toid);
- if (actb_timeOut > 0) actb_toid = setTimeout("actb_removedisp()",actb_timeOut);
- actb_generate(actb_bool);
-}
-
-
-
//-->
</script>
+<script type="text/javascript" language="javascript" src="auto_complete_helper.js">
+</script>
<?php include("fend.inc"); ?>
</body>
</html>
OpenPOWER on IntegriCloud