0b9fb273a1de22ce60a6237dc32078d4b635d09d
larrym
  Wed Feb 22 13:18:36 2012 -0800
add whatWeDid to stripHgErrors
diff --git src/hg/js/utils.js src/hg/js/utils.js
index 6c22916..5cb7494 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -1168,40 +1168,44 @@
         }
         return bounds;
     },
 
     insideOut: function (begToken,endToken,someString,ixBeg,ixEnd)
     { // returns what falls between begToken and endToken as found in the string provided
     // Note ixBeg and ixEnd are optional bounds already established within string
         var bounds = bindings.inside(begToken,endToken,someString,ixBeg,ixEnd);
         if (bounds.start < bounds.stop)
             return someString.slice(bounds.start,bounds.stop);
 
         return '';
     }
 }
 
-function stripHgErrors(returnedHtml)
+function stripHgErrors(returnedHtml, whatWeDid)
 { // strips HGERROR style 'early errors' and shows them in the warnBox
+  // If whatWeDid != null, we use it to return info about what we stripped out and processed (current just warnMsg).
     var cleanHtml = returnedHtml;
     while(cleanHtml.length > 0) {
         var bounds = bindings.outside('<!-- HGERROR-START -->','<!-- HGERROR-END -->',cleanHtml);
         if (bounds.start == -1)
             break;
         var warnMsg = bindings.insideOut('<P>','</P>',cleanHtml,bounds.start,bounds.stop);
-        if (warnMsg.length > 0)
+        if (warnMsg.length > 0) {
             warn(warnMsg);
+            if(whatWeDid != null)
+                whatWeDid.warnMsg = warnMsg;
+        }
         cleanHtml = cleanHtml.slice(0,bounds.start) + cleanHtml.slice(bounds.stop);
     }
     return cleanHtml;
 }
 
 function stripJsFiles(returnedHtml,debug)
 { // strips javascript files from html returned by ajax
     var cleanHtml = returnedHtml;
     var shlurpPattern=/\<script type=\'text\/javascript\' SRC\=\'.*\'\>\<\/script\>/gi;
     if (debug) {
         var jsFiles = cleanHtml.match(shlurpPattern);
         if (jsFiles && jsFiles.length > 0)
             alert("jsFiles:'"+jsFiles+"'\n---------------\n"+cleanHtml); // warn() interprets html, etc.
     }
     cleanHtml = cleanHtml.replace(shlurpPattern,"");
@@ -1237,31 +1241,31 @@
             break;
         var jsEmbeded = cleanHtml.slice(bounds.start,bounds.stop);
         if(-1 == jsEmbeded.indexOf("showWarnBox")) {
             if (debug)
                 alert("jsEmbedded:'"+jsEmbeded+"'\n---------------\n"+cleanHtml);
         } else {
             var warnMsg = bindings.insideOut('<li>','</li>',cleanHtml,bounds.start,bounds.stop);
             if (warnMsg.length > 0) {
                 warn(warnMsg);
                 if(whatWeDid != null)
                     whatWeDid.warnMsg = warnMsg;
             }
         }
         cleanHtml = cleanHtml.slice(0,bounds.start) + cleanHtml.slice(bounds.stop);
     }
-    return stripHgErrors(cleanHtml); // Certain early errors are not called via warnBox
+    return stripHgErrors(cleanHtml, whatWeDid); // Certain early errors are not called via warnBox
 }
 
 function visTriggersHiddenSelect(obj)
 { // SuperTrack child changing vis should trigger superTrack reshaping.
   // This is done by setting hidden input "_sel"
     var trackName_Sel = $(obj).attr('name') + "_sel";
     var theForm = $(obj).closest("form");
     var visible = (obj.selectedIndex != 0);
     if (visible) {
         updateOrMakeNamedVariable(theForm,trackName_Sel,"1");
     } else
         disableNamedVariable(theForm,trackName_Sel);
     return true;
 }