summaryrefslogtreecommitdiffstats
path: root/usr/local/www/javascript/load_balancer_pool_edit
diff options
context:
space:
mode:
authorBill Marquette <bill.marquette@gmail.com>2009-03-14 14:41:04 -0500
committerBill Marquette <bill.marquette@gmail.com>2009-03-14 14:41:04 -0500
commit625dcc400cea74155d426e620d7e4a5bf109e93b (patch)
tree14ba73db8c3d1e33b9d8bafa99a40bed5630ad6a /usr/local/www/javascript/load_balancer_pool_edit
parentd3bc15eae54618efba3214984fba6b79e0a6456e (diff)
downloadpfsense-625dcc400cea74155d426e620d7e4a5bf109e93b.zip
pfsense-625dcc400cea74155d426e620d7e4a5bf109e93b.tar.gz
Massive javascript cleanup, all .js files now live in $g['www_path']/javascript
Purged unused JS
Diffstat (limited to 'usr/local/www/javascript/load_balancer_pool_edit')
-rwxr-xr-xusr/local/www/javascript/load_balancer_pool_edit/pool.js153
1 files changed, 153 insertions, 0 deletions
diff --git a/usr/local/www/javascript/load_balancer_pool_edit/pool.js b/usr/local/www/javascript/load_balancer_pool_edit/pool.js
new file mode 100755
index 0000000..ab6303d
--- /dev/null
+++ b/usr/local/www/javascript/load_balancer_pool_edit/pool.js
@@ -0,0 +1,153 @@
+/*
+ pool.js
+ part of pfSense (http://www.pfsense.com/)
+
+ Copyright (C) 2005-2008 Bill Marquette <bill.marquette@gmail.com>.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* Add server to virtual server pool
+ * operates on whatever form is passed to it
+ */
+function AddServerToPool(form) {
+ var ServerPort = form.ipaddr.value;
+ form['servers[]'].options[form['servers[]'].options.length] = new Option(ServerPort,ServerPort);
+}
+
+
+function AllServers(id, selectAll) {
+ var opts = document.getElementById(id).getElementsByTagName('option');
+ for (i = 0; i < opts.length; i++)
+ {
+ opts[i].selected = selectAll;
+ }
+}
+
+
+function RemoveServerFromPool(form, field)
+{
+ var theSel = form[field];
+ var selIndex = theSel.selectedIndex;
+ if (selIndex != -1) {
+ for(i=theSel.length-1; i>=0; i--)
+ {
+ if(theSel.options[i].selected)
+ {
+ theSel.options[i] = null;
+ }
+ }
+ if (theSel.length > 0) {
+ theSel.selectedIndex = selIndex == 0 ? 0 : selIndex - 1;
+ }
+ }
+}
+
+function addOption(theSel, theText, theValue)
+{
+ var newOpt = new Option(theText, theValue);
+ var selLength = theSel.length;
+ theSel.options[selLength] = newOpt;
+}
+
+function deleteOption(theSel, theIndex)
+{
+ var selLength = theSel.length;
+ if(selLength>0)
+ {
+ theSel.options[theIndex] = null;
+ }
+}
+
+function moveOptions(theSelFrom, theSelTo)
+{
+ var selLength = theSelFrom.length;
+ var selectedText = new Array();
+ var selectedValues = new Array();
+ var selectedCount = 0;
+
+ var i;
+
+ // Find the selected Options in reverse order
+ // and delete them from the 'from' Select.
+ for(i=selLength-1; i>=0; i--)
+ {
+ if(theSelFrom.options[i].selected)
+ {
+ selectedText[selectedCount] = theSelFrom.options[i].text;
+ selectedValues[selectedCount] = theSelFrom.options[i].value;
+ deleteOption(theSelFrom, i);
+ selectedCount++;
+ }
+ }
+
+ // Add the selected text/values in reverse order.
+ // This will add the Options to the 'to' Select
+ // in the same order as they were in the 'from' Select.
+ for(i=selectedCount-1; i>=0; i--)
+ {
+ addOption(theSelTo, selectedText[i], selectedValues[i]);
+ }
+}
+
+// functions up() and down() modified from http://www.babailiica.com/js/sorter/
+
+function up(obj) {
+ var sel = new Array();
+ for (var i=0; i<obj.length; i++) {
+ if (obj[i].selected == true) {
+ sel[sel.length] = i;
+ }
+ }
+ for (i in sel) {
+ if (sel[i] != 0 && !obj[sel[i]-1].selected) {
+ var tmp = new Array(obj[sel[i]-1].text, obj[sel[i]-1].value);
+ obj[sel[i]-1].text = obj[sel[i]].text;
+ obj[sel[i]-1].value = obj[sel[i]].value;
+ obj[sel[i]].text = tmp[0];
+ obj[sel[i]].value = tmp[1];
+ obj[sel[i]-1].selected = true;
+ obj[sel[i]].selected = false;
+ }
+ }
+}
+
+function down(obj) {
+ var sel = new Array();
+ for (var i=obj.length-1; i>-1; i--) {
+ if (obj[i].selected == true) {
+ sel[sel.length] = i;
+ }
+ }
+ for (i in sel) {
+ if (sel[i] != obj.length-1 && !obj[sel[i]+1].selected) {
+ var tmp = new Array(obj[sel[i]+1].text, obj[sel[i]+1].value);
+ obj[sel[i]+1].text = obj[sel[i]].text;
+ obj[sel[i]+1].value = obj[sel[i]].value;
+ obj[sel[i]].text = tmp[0];
+ obj[sel[i]].value = tmp[1];
+ obj[sel[i]+1].selected = true;
+ obj[sel[i]].selected = false;
+ }
+ }
+}
OpenPOWER on IntegriCloud