src/hg/js/utils.js 1.13
1.13 2009/03/09 18:35:29 tdreszer
Removed obsolete function
Index: src/hg/js/utils.js
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/js/utils.js,v
retrieving revision 1.12
retrieving revision 1.13
diff -b -B -U 1000000 -r1.12 -r1.13
--- src/hg/js/utils.js 24 Jan 2009 00:01:17 -0000 1.12
+++ src/hg/js/utils.js 9 Mar 2009 18:35:29 -0000 1.13
@@ -1,217 +1,190 @@
// Utility JavaScript
// $Header$
var debug = false;
function clickIt(obj,state,force)
{
// calls click() for an object, and click();click() if force
if(obj.checked != state) {
obj.click();
} else if (force) {
obj.click();
obj.click(); //force onclick event
}
}
function setCheckBoxesWithPrefix(obj, prefix, state)
{
// Set all checkboxes with given prefix to state boolean
var list = inputArrayThatMatches("checkbox","id",prefix,"");
for (var i=0;i<list.length;i++) {
var ele = list[i];
if(ele.checked != state)
ele.click(); // Forces onclick() javascript to run
}
}
function setCheckBoxesThatContain(nameOrId, state, force, sub1)
{
// Set all checkboxes which contain 1 or more given substrings in NAME or ID to state boolean
// First substring: must begin with it; 2 subs: beg and end; 3: begin, middle and end.
// This can force the 'onclick() js of the checkbox, even if it is already in the state
if(debug)
alert("setCheckBoxesContains is about to set the checkBoxes to "+state);
var list;
if(arguments.length == 4)
list = inputArrayThatMatches("checkbox",nameOrId,sub1,"");
else if(arguments.length == 5)
list = inputArrayThatMatches("checkbox",nameOrId,sub1,arguments[4]);
else if(arguments.length == 6)
list = inputArrayThatMatches("checkbox",nameOrId,sub1,arguments[4],arguments[5]);
for (var ix=0;ix<list.length;ix++) {
clickIt(list[ix],state,force);
}
return true;
}
-function getViewsSelected(nameMatches,on)
-{
-// Returns an array of all views that are on or off (hide)
-// views are "select" drop downs containing 'hide','dense',...
-// To be clear, an array of strings with the view suffix are returned.
-// name="broadChromatinChIPSeq_dd_WIN" nameMatches='_dd_' returns 'WIN'
- var views = new Array();
-
- if (document.getElementsByTagName) {
- var list = document.getElementsByTagName('select');
- var vIx=0;
- for (var ix=0;ix<list.length;ix++) {
- var ele = list[ix];
- var nameIx = ele.name.indexOf(nameMatches);
- if(nameIx >= 0) {
- if((on && ele.selectedIndex>0) || (!on && ele.selectedIndex==0)) {
- views[vIx] = ele.name.substring(nameIx+nameMatches.length,ele.name.length);
- vIx++;
- }
- }
- }
- if(debug)
- alert("getViewsSelected() returns "+views);
- }
- return( views );
-}
-
function inputArrayThatMatches(inpType,nameOrId,prefix,suffix)
{
// returns an array of input controls that match the criteria
var found = new Array();
var fIx = 0;
if (document.getElementsByTagName)
{
var list;
if(inpType == 'select')
list = document.getElementsByTagName('select');
else
list = document.getElementsByTagName('input');
for (var ix=0;ix<list.length;ix++) {
var ele = list[ix];
if(inpType.length > 0 && inpType != 'select' && ele.type != inpType)
continue;
var identifier = ele.name;
if(nameOrId.search(/id/i) != -1)
identifier = ele.id;
var failed = false;
if(prefix.length > 0)
failed = (identifier.indexOf(prefix) != 0)
if(!failed && suffix.length > 0)
failed = (identifier.lastIndexOf(suffix) != (identifier.length - suffix.length))
if(!failed) {
for(var aIx=4;aIx<arguments.length;aIx++) {
if(identifier.indexOf(arguments[aIx]) == -1) {
failed = true;
break;
}
}
}
if(!failed) {
found[fIx] = ele;
fIx++;
}
}
} else {
// NS 4.x - I gave up trying to get this to work.
if(debugLevel>2)
alert("arrayOfInputsThatMatch is unimplemented for this browser");
}
return found;
}
function showSubTrackCheckBoxes(onlySelected)
{
// If a Subtrack configuration page has show "only selected subtracks" option,
// This can show/hide tablerows that contain the checkboxes
// Containing <tr>'s must be id'd with 'tr_' + the checkbox id,
// while checkbox id must have 'cb_' prefix (ie: 'tr_cb_checkThis' & 'cb_checkThis')
if (document.getElementsByTagName)
{
var list = document.getElementsByTagName('tr');
for (var ix=0;ix<list.length;ix++) {
var tblRow = list[ix];
if(tblRow.id.indexOf("tr_cb_") >= 0) { // marked as tr containing a cb
if(!onlySelected) {
tblRow.style.display = ''; //'table-row' doesn't work in some browsers (ie: IE)
} else {
var associated_cb = tblRow.id.substring(3,tblRow.id.length);
chkBox = document.getElementById(associated_cb);
if(chkBox!=undefined && chkBox.checked && chkBox.disabled == false)
tblRow.style.display = '';
else
tblRow.style.display = 'none'; // hides
}
}
}
}
else if (document.all) {
if(debug)
alert("showSubTrackCheckBoxes is unimplemented for this browser");
} else {
// NS 4.x - I gave up trying to get this to work.
if(debug)
alert("showSubTrackCheckBoxes is unimplemented for this browser");
}
}
function hideOrShowSubtrack(obj)
{
// This can show/hide a tablerow that contains a specific object
// Containing <tr>'s must be id'd with 'tr_' + obj.id
// Also, this relies upon the "displaySubtracks" radio button control
var tblRow = document.getElementById("tr_"+obj.id);
if(!obj.checked || obj.disabled)
{
var list = document.getElementsByName("displaySubtracks");
for (var ix=0;ix<list.length;ix++) {
if(list[ix].value == "selected") {
if(list[ix].checked)
tblRow.style.display = 'none'; // hides
else
tblRow.style.display = ''; //'table-row' doesn't work in some browsers (ie: IE)
break;
}
}
}
else
tblRow.style.display = '';
}
function waitCursor(obj)
{
//document.body.style.cursor="wait"
obj.style.cursor="wait";
}
function endWaitCursor(obj)
{
obj.style.cursor="";
}
function getURLParam()
{
// Retrieve variable value from an url.
// Can be called either:
// getURLParam(url, name)
// or:
// getURLParam(name)
// Second interface will default to using window.location.href
var strHref, strParamName;
var strReturn = "";
if(arguments.length == 1) {
strHref = window.location.href;
strParamName = arguments[0];
} else {
strHref = arguments[0];
strParamName = arguments[1];
}
if ( strHref.indexOf("?") > -1 ){
var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return unescape(strReturn);
}