diff options
Diffstat (limited to 'www/test/1.8.6/src/ext/event-header.js')
-rw-r--r-- | www/test/1.8.6/src/ext/event-header.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/www/test/1.8.6/src/ext/event-header.js b/www/test/1.8.6/src/ext/event-header.js new file mode 100644 index 00000000..c7d29334 --- /dev/null +++ b/www/test/1.8.6/src/ext/event-header.js @@ -0,0 +1,37 @@ +(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); + } + } + } + }); +})(); |