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; }