677c0082f46dc7242db6b14ee3d79badc4bdf224
chmalee
  Thu Feb 17 10:00:14 2022 -0800
Make note about adding .csv extension conditional on output type, refs #27623

diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c
index 8ea3e09..316c06e 100644
--- src/hg/hgTables/mainPage.c
+++ src/hg/hgTables/mainPage.c
@@ -407,34 +407,37 @@
 jsAddEventForId("change", "outputTypeDropdown", "checkGtfNote");
 
 jsInline("function checkSnpTablesNote(event) {\n"  
     "var trackName = document.getElementById('hgta_track').value;\n"
     "if (trackName.startsWith('dbSnp') || trackName.startsWith('snp'))\n"
     "    document.getElementById('snpTablesNote').style.display='';\n"
     "else\n"
     "    document.getElementById('snpTablesNote').style.display='none';\n"
     "}\n"
     "$(document).ready(checkSnpTablesNote);\n"
 );
 jsAddEventForId("change", "outputTypeDropdown", "checkSnpTablesNote");
 
 jsInlineF("function checkForCsv(event) {\n"
     "var outputType = document.getElementById('outputTypeDropdown').value;\n"
-    "if (outputType === 'primaryTable' || outputType === 'selectedFields')\n"
+    "if (outputType === 'primaryTable' || outputType === 'selectedFields') {\n"
     "   document.getElementById('%s').parentElement.style.display='';\n"
-    "else\n"
+    "   document.getElementById('excelOutNote').style.display='';\n"
+    "} else {\n"
     "   document.getElementById('%s').parentElement.style.display='none';\n"
+    "   document.getElementById('excelOutNote').style.display='none';\n"
+    "}\n"
     "}\n"
     "$(document).ready(checkForCsv);\n"
     , hgtaOutSep, hgtaOutSep);
 jsAddEventForId("change", "outputTypeDropdown", "checkForCsv");
 
 if (!cfgOptionBooleanDefault("hgta.disableSendOutput", FALSE))
     {
     hPrintf(" Send output to ");
     struct dyString *dy = dyStringNew(256);
     dyStringAppend(dy, 
 	"document.getElementById('checkboxGreat').checked=false;");
     if (isGenomeSpaceEnabled())
 	dyStringAppend(dy, 
 	      	  "document.getElementById('checkboxGenomeSpace').checked=false;");
     dyStringAppend(dy, 
@@ -921,31 +924,31 @@
     }
 
 /* Print output type line. */
 
 printStep(stepNumber++);
 showOutputTypeRow(isWig, isBedGr, isPositional, isMaf, isChromGraphCt, isPal, isArray, isHalSnake);
 
 /* Print output destination line. */
     {
     char *compressType = cartUsualString(cart, hgtaCompressType, textOutCompressNone);
     char *fieldSep = cartUsualString(cart, hgtaOutSep, outTab);
     char *fileName = cartUsualString(cart, hgtaOutFileName, "");
     hPrintf("<TR><TD>\n");
     hPrintf("<B>output filename:</B>&nbsp;");
     cgiMakeTextVar(hgtaOutFileName, fileName, 29);
-    hPrintf("&nbsp;(add .csv extension if opening in Excel, leave blank to keep output in browser)</TD></TR>\n");
+    hPrintf("&nbsp;(<span id='excelOutNote' style='display:none'>add .csv extension if opening in Excel, </span>leave blank to keep output in browser)</TD></TR>\n");
     hPrintf("<TR><TD>\n");
     hPrintf("<B>output field separator:&nbsp;</B>");
 
     // tab or csv output
     cgiMakeRadioButton(hgtaOutSep, outTab, sameWord(outTab, fieldSep));
     hPrintf("&nbsp;tsv (tab-separated)&nbsp&nbsp;");
 
     cgiMakeRadioButton(hgtaOutSep, outCsv, sameWord(outCsv, fieldSep));
     hPrintf("&nbsp;csv (for excel)&nbsp;");
 
     hPrintf("</TD></TR>\n");
     hPrintf("<TR><TD>\n");
     hPrintf("<B>file type returned:&nbsp;</B>");
     cgiMakeRadioButton(hgtaCompressType, textOutCompressNone,
         sameWord(textOutCompressNone, compressType));