(function () { function stringifyEvent(event) { var obj = {}; for (var key in event) { obj[key] = event[key]; } return JSON.stringify(obj, function (key, value) { if (value instanceof Node) { var nodeRep = value.tagName; if (nodeRep) { nodeRep = nodeRep.toLowerCase(); if (value.id) { nodeRep += "#" + value.id; } if (value.classList && value.classList.length) { nodeRep += "." + value.classList.toString().replace(" ", "."); } return nodeRep; } else { return "Node"; } } if (value instanceof Window) return "Window"; return value; }); } htmx.defineExtension("event-header", { onEvent: function (name, evt) { if (name === "htmx:configRequest") { if (evt.detail.triggeringEvent) { evt.detail.headers["Triggering-Event"] = stringifyEvent( evt.detail.triggeringEvent, ); } } }, }); })();