// M3 namespace for mercury3 javascript library // M3 root contains basic javascript utility funtions var M3 = M3 || { handleAsteriskInInput : function(event) { if (event.which == 42) { event.preventDefault(); } }, stripWildcard : function(searchValue) { searchValue = searchValue.replace("*", ""); return searchValue; }, getSourceList : function() { var xhr = new XMLHttpRequest(); xhr.open("GET", "/cn/v1/node/", false); xhr.send(); var xmlDoc = xhr.responseXML; var node0 = xmlDoc.getElementsByTagName('node')[0]; node0.attributes['type'].value; node0.getElementsByTagName('name')[0].textContent; }, solrRegExp : new RegExp("(\\" + ['+','-', '&&', '|', '!', '(', ')', '{', '}', '[', ']', '^', '"', '~', '*', '?', ':', '\\'].join("|\\") + ")", "g"), escapeSolr : function(value) { return value.replace(M3.solrRegExp, "\\$1"); }, formatBytesForDisplay : function(fileSizeInBytes) { var i = -1; var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB']; do { fileSizeInBytes = fileSizeInBytes / 1024; i++; } while (fileSizeInBytes > 1024); return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i]; }, escapeIdForJQuery : function(idString) { return "#" + idString.replace( /(:|\.|\[|\]|\/)/g, "\\$1" ); } };