1class AuditLog { } 2 3const appendFilter = (filter) => { 4 const input = document.querySelector("#query"); 5 if (!input) return; 6 7 input.value = `${input.value} ${filter}`.trim(); 8 input.dispatchEvent(new Event("input")); 9 input.focus(); 10}; 11 12const onClick = (event) => { 13 const button = event.target.closest("[data-append-filter]"); 14 if (button) appendFilter(button.dataset.appendFilter); 15}; 16 17AuditLog.ready = () => { 18 // Single delegated listener so ready() is idempotent (re-registering the same 19 // function reference is a no-op) and keeps working when buttons are swapped in 20 // after load, e.g. on a Turbo visit. 21 document.removeEventListener("click", onClick); 22 document.addEventListener("click", onClick); 23}; 24 25export default AuditLog;
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.