X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fhtml%2FNoAuth%2Fjs%2Flist.js;fp=rt%2Fhtml%2FNoAuth%2Fjs%2Flist.js;h=9753b977167de3e95677d78d777f859c27e40469;hb=ef20b2b6b1feb47ad02b5ff7525f1a0fd11d0fa4;hp=0000000000000000000000000000000000000000;hpb=a513c0bef534d05f03c1242831b6f3be19b97dae;p=freeside.git diff --git a/rt/html/NoAuth/js/list.js b/rt/html/NoAuth/js/list.js new file mode 100644 index 000000000..9753b9771 --- /dev/null +++ b/rt/html/NoAuth/js/list.js @@ -0,0 +1,159 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/copyleft/gpl.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +/* by TKirby, released under GPL */ +/* Define the "list" Class */ +Class("list").define({ + name : null, + xml : null, + sels : null, + list : function (src, esrc, name) { this.init(src, esrc, name); }, + read : function () { + var i = 0; + if(this.xml.readyState!=4) { setTimeout(this.name+".read()", 100); } + else if(this.xml.status!=200) alert("Document not available."); + else { + var doc = this.xml.responseXML; + var nNode = null; + if(doc.childNodes[0].nodeName=="parseerror") alert("Parse Error."); + doc = doc.getElementsByTagName("list")[0]; + for(i=0;i0) { + nNode = document.createElement("option"); + nNode.appendChild(document.createTextNode(doc.childNodes[i].childNodes[0].nodeValue)); + this.sels[0].appendChild(nNode); + } + } + } + }, + + init : function (src,esrc,name) { + if(!src) return; + this.name = name; + this.sels = new Array(); + var i = 0; + for(i=0;i0) for(i=this.sels[1].length-1;i>=0;i--)this.moveOne(v, i); + }, + + moveOne : function(v, i) { + var ins = v + i; + if(ins<0 || ins>=this.sels[1].length) return; + if(this.sels[1][ins].selected) return; + if(this.sels[1][i].selected) { + Node = this.sels[1][i]; + this.sels[1].removeChild(Node); + this.sels[1].insertBefore(Node, this.sels[1][ins]); + } + }, + + remove : function() { + var i = 0; + for(i=this.sels[1].length-1;i>=0;i--) if(this.sels[1][i].selected) + this.sels[1].removeChild(this.sels[1][i]); + }, + + selectAll: function() { + var i = 0; + for(i=0;i