d982b1eff331e41fd267a132f7ee473b173e73c2 tdreszer Tue Feb 8 16:52:51 2011 -0800 Got dropdownchecklist to work within hgTracks popup cfg diff --git src/hg/js/utils.js src/hg/js/utils.js index a29d915..b607a58 100644 --- src/hg/js/utils.js +++ src/hg/js/utils.js @@ -551,33 +551,37 @@ urlData[name] = val; } }); $(sel).filter('[name]:enabled').each(function (i) { var name = $(this).attr('name'); var val = $(this).val(); if(name != undefined && val != undefined) { if(subtrackName != undefined && name == subtrackName) { if(val == 'hide') { urlData[name+"_sel"] = 0; // Can't delete "_sel" because default takes over urlData[name] = "[]"; // can delete vis because subtrack vis should be inherited. } else { urlData[name+"_sel"] = 1; urlData[name] = val; } + } else { + if ($.isArray( val ) && val.length > 1) { + urlData[name] = "[" + val.toString() + "]"; } else urlData[name] = val; } + } }); return urlData; } function setIdRemoveName(obj) { // This function removes the name of an obj and sets it as the id. This is very useful // to override forms submitting named inputs and instead setCartVarFromObjId() can be used selectively var id = $(obj).attr('name'); if(id != undefined) { $(obj).attr('id',id); $(obj).removeAttr('name'); } //warn($(obj).attr('id')+'='+$(obj).val()+" name:"+$(obj).attr('name')); } @@ -590,32 +594,41 @@ if(oldVars[newVar] == null || oldVars[newVar] != newVars[newVar]) changedVars[newVar] = newVars[newVar]; } return changedVars; } function varHashToQueryString(varHash) { // return a CGI QUERY_STRING for name/vals in given object var retVal = ""; var count = 0; for (var aVar in varHash) { if(count++ > 0) { retVal += "&"; } + var val = varHash[aVar]; // XXXX encode var=val ? - retVal += aVar + "=" + varHash[aVar]; + if (val.indexOf('[') == 0 && val.lastIndexOf(']') == (val.length - 1)) { + var vals = val.substr(1,val.length - 2).split(','); + $(vals).each(function (ix) { + if (ix > 0) + retVal += "&"; + retVal += aVar + "=" + this; + }); + } else + retVal += aVar + "=" + val; } return retVal; } function getAllVarsAsUrlData(obj) { // Returns a string in the form of var1=val1&var2=val2... for all inputs and selects in an obj // If obj is undefined then obj is document! return varHashToQueryString(getAllVars(obj)); } /* function popupBox(popit, content, popTitle) { // Kicks off a Modal Dialog for the provided content.