1// Admin tooling helpers (loaded globally from App.razor). 2 3/** 4 * Downloads a string as a file (used by admin pages to extract logs/traces as JSON). 5 * Blazor Server streams the content as a plain string argument â no server round-trip 6 * beyond the SignalR message itself. 7 */ 8window.teqDownloadTextFile = function (fileName, content, mimeType) { 9 const blob = new Blob([content], { type: mimeType || "application/json" }); 10 const url = URL.createObjectURL(blob); 11 const anchor = document.createElement("a"); 12 anchor.href = url; 13 anchor.download = fileName; 14 document.body.appendChild(anchor); 15 anchor.click(); 16 document.body.removeChild(anchor); 17 URL.revokeObjectURL(url); 18}; 19 20/** Copies text to the clipboard; returns true on success so the caller can flash feedback. */ 21window.teqCopyToClipboard = async function (content) { 22 try { 23 await navigator.clipboard.writeText(content); 24 return true; 25 } catch { 26 return false; 27 } 28};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.