cceb0f154b33d600926d6948c148305625756749 max Tue Jun 30 17:35:50 2026 -0700 Revert "hgBlat: move showAliPlaces autoBigPsl inline JS into src/hg/js/hgBlat.js" This reverts commit 48cd1865d252867ebbd3852d76bed271d0028d29. diff --git src/hg/hgBlat/hgBlat.c src/hg/hgBlat/hgBlat.c index 938fbea957b..bbed0916c9e 100644 --- src/hg/hgBlat/hgBlat.c +++ src/hg/hgBlat/hgBlat.c @@ -579,48 +579,33 @@ struct dyString *url = dyStringNew(256); dyStringPrintf(url, "http%s://%s", sameOk(getenv("HTTPS"), "on") ? "s" : "", getenv("HTTP_HOST")); dyStringPrintf(url, "%s", hgcUrl+2); dyStringPrintf(url, "?o=%d", psl->tStart); dyStringPrintf(url, "&t=%d", psl->tEnd); dyStringPrintf(url, "&g=%s", "buildBigPsl"); dyStringPrintf(url, "&i=%s", cgiEncode(item)); dyStringPrintf(url, "&c=%s", cgiEncode(psl->tName)); dyStringPrintf(url, "&l=%d", psl->tStart); dyStringPrintf(url, "&r=%d", psl->tEnd); dyStringPrintf(url, "&%s=%s", cartSessionVarName(), cartSessionId(cart)); dyStringPrintf(url, "&Submit=%s", cgiEncode("Create a stable custom track with these results")); if (pslIsProtein(psl)) dyStringPrintf(url, "&isProt=on"); - /* Pass this request's parameters to hgBlat.js, which builds (and lets the - user rename or delete) a stable bigPsl custom track from the blat result. */ - char *trackNameJs = javaScriptLiteralEncode(trackName); - char *trackDescriptionJs = javaScriptLiteralEncode(trackDescription); - jsIncludeFile("hgBlat.js", NULL); jsInlineF( "var luckyLocation = '';\n" - "var hgBlatData = {\n" - " url: '%s',\n" - " trackName: '%s',\n" - " trackDescription: '%s',\n" - " ctTableVar: '%s',\n" - " ctRemoveVar: '%s'\n" - " };\n", - url->string, trackNameJs, trackDescriptionJs, - CT_SELECTED_TABLE_VAR, CT_DO_REMOVE_VAR); - freeMem(trackNameJs); - freeMem(trackDescriptionJs); + ); if(feelingLucky) { /* If we found something jump browser to there. */ if(slCount(pslList) > 0) printLuckyRedirect(browserUrl, pslList, database, pslName, faName, uiState, unhideTrack); } // RENAME BLAT CT FORM // new re-submit code with new trackname and decription if (!feelingLucky) { printf("<div id=renameFormItem style='display: none'>\n"); printf("<FORM ACTION=>\n"); printf("<INPUT TYPE=SUBMIT NAME=Submit id='showRenameForm' VALUE=\"Rename Custom Track\">\n"); printf("</FORM>\n"); @@ -650,30 +635,121 @@ } if (!feelingLucky) { // REMOVE CT BUTTON FORM. printf("<div id=deleteCtForm style='display: none'>\n"); printf("<FORM ACTION=\"%s?hgsid=%s&db=%s\" NAME=\"MAIN_FORM\" METHOD=%s>\n\n", hgTracksName(), cartSessionId(cart), database, cartUsualString(cart, "formMethod", "POST")); cartSaveSession(cart); cgiMakeButton(CT_DO_REMOVE_VAR, "Delete Custom Track"); cgiMakeHiddenVar(CT_SELECTED_TABLE_VAR, "FAKETRACKNAME"); printf("</FORM>\n"); printf("</div>\n"); } + char *trackNameJs = javaScriptLiteralEncode(trackName); + char *trackDescriptionJs = javaScriptLiteralEncode(trackDescription); + jsInlineF( + + "var ct_blat = '';\n" + "\n" + "function buildBigPslCtSuccess (content, status)\n" + "{ // Finishes the successful creation of blat ct bigPsl. Called by ajax return.\n" + " // saves the ct name so it can be used later for rename or delete.\n" + "\n" + "var matchWord = '&table=';\n" + "var ct_blatPos = content.indexOf(matchWord) + matchWord.length;\n" + "\n" + "if (ct_blatPos >= 0)\n" + " {\n" + " var ct_blatPosEnd = content.indexOf('\"', ct_blatPos);\n" + " ct_blat = content.slice(ct_blatPos, ct_blatPosEnd);\n" + " if (luckyLocation == '')\n" + " {\n" + " $('input[name=\""CT_SELECTED_TABLE_VAR"\"]')[0].value = ct_blat;\n" + " $('input[name=\""CT_SELECTED_TABLE_VAR"\"]')[1].value = ct_blat;\n" + " }\n" + " }\n" + "}\n" + "\n" + "function buildBigPslCt (url, trackName, trackDescription)\n" + "{ // call hgc to buildBigPsl from blat result.\n" + "\n" + "var cgiVars = 'trackName='+encodeURIComponent(trackName)+'&trackDescription='+encodeURIComponent(trackDescription);\n" + "if (ct_blat !== '')\n" + " {\n" + " cgiVars += '&"CT_DO_REMOVE_VAR"='+encodeURIComponent('Remove Custom Track');\n" + " cgiVars += '&"CT_SELECTED_TABLE_VAR"='+encodeURIComponent(ct_blat);\n" + " }\n" + "\n" + "$.ajax({\n" + " type: 'GET',\n" + " url: url,\n" + " data: cgiVars,\n" + " dataType: 'html',\n" + " trueSuccess: buildBigPslCtSuccess,\n" + " success: catchErrorOrDispatch,\n" + " error: errorHandler,\n" + " cache: false,\n" + " async: false\n" + " });\n" + "}\n" + "\n" + "var url='%s';\n" + "var trackName='%s';\n" + "var trackDescription='%s';\n" + "$(document).ready(function() {\n" + "\n" + "buildBigPslCt(url, trackName, trackDescription);\n" + "if (luckyLocation !== '')\n" + " {\n" + " location.replace(luckyLocation);\n" + " }\n" + "else\n" + " {\n" + " $('#renameFormItem')[0].style.display = 'block';\n" + " $('#deleteCtForm')[0].style.display = 'block';\n" + " }\n" + "});\n", url->string, trackNameJs, trackDescriptionJs); + freeMem(trackNameJs); + freeMem(trackDescriptionJs); + + + // RENAME CT JS CODE + if (!feelingLucky) + jsInline("$('#showRenameForm').click(function(){\n" + " $('#renameForm')[0].style.display = 'block';\n" + " $('#renameFormItem')[0].style.display = 'none';\n" + " $('#showRenameForm')[0].style.display = 'none';\n" + " $('input[name=\"trackName\"]')[0].value = trackName;\n" + " $('input[name=\"trackDescription\"]')[0].value = trackDescription;\n" + "return false;\n" + "});\n"); + + // RENAME CT JS CODE + if (!feelingLucky) + jsInline("$('#submitTrackNameDescr').click(function(){\n" + " $('#renameForm')[0].style.display = 'none';\n" + " $('#renameFormItem')[0].style.display = 'block';\n" + " $('#showRenameForm')[0].style.display = 'block';\n" + " trackName = $('input[name=\"trackName\"]')[0].value;\n" + " trackDescription = $('input[name=\"trackDescription\"]')[0].value;\n" + "buildBigPslCt(url, trackName, trackDescription);\n" + "return false;\n" + "});\n"); + dyStringFree(&url); } else if (useBigPsl) { char *trackName = NULL; char *trackDescription = NULL; getCustomName(database, cart, pslList, &trackName, &trackDescription); psl = pslList; printf( "<DIV STYLE=\"display:block;\"><FORM ACTION=\"%s\" METHOD=\"%s\" NAME=\"customTrackForm\">\n", hgcUrl,cartUsualString(cart, "formMethod", "POST")); printf("<INPUT TYPE=\"hidden\" name=\"o\" value=\"%d\" />\n",psl->tStart); printf("<INPUT TYPE=\"hidden\" name=\"t\" value=\"%d\" />\n",psl->tEnd); printf("<INPUT TYPE=\"hidden\" name=\"g\" value=\"%s\" />\n","buildBigPsl"); printf("<INPUT TYPE=\"hidden\" name=\"i\" value=\"%s %s %s\" />\n",pslName,faName,psl->qName);