From 857095650f69054a66c22cabfa66aeb5a8bdd814 Mon Sep 17 00:00:00 2001 From: Falco Hirschenberger Date: Thu, 16 Mar 2023 17:44:10 +0100 Subject: [PATCH] Trigger event when a SSE-source is opened fixes #1325 --- src/ext/sse.js | 4 ++++ www/reference.md | 1 + 2 files changed, 5 insertions(+) diff --git a/src/ext/sse.js b/src/ext/sse.js index 34571435..4088cd29 100644 --- a/src/ext/sse.js +++ b/src/ext/sse.js @@ -155,6 +155,10 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions }, timeout); } }; + + source.onopen = function (evt) { + api.triggerEvent(elt, "htmx::sseOpen", {source: source}); + } // Add message handlers for every `sse-swap` attribute queryAttributeOnThisOrChildren(elt, "sse-swap").forEach(function(child) { diff --git a/www/reference.md b/www/reference.md index 9821353e..77b357cb 100644 --- a/www/reference.md +++ b/www/reference.md @@ -159,6 +159,7 @@ The table below lists all other attributes available in htmx. | [`htmx:pushedIntoHistory`](/events#htmx:pushedIntoHistory) | triggered after an url is pushed into history | [`htmx:responseError`](/events#htmx:responseError) | triggered when an HTTP response error (non-`200` or `300` response code) occurs | [`htmx:sendError`](/events#htmx:sendError) | triggered when a network error prevents an HTTP request from happening +| [`htmx:sseOpen`](/events#htmx:sseOpen) | triggered when a SSE source is opened | [`htmx:sseError`](/events#htmx:sseError) | triggered when an error occurs with a SSE source | [`htmx:swapError`](/events#htmx:swapError) | triggered when an error occurs during the swap phase | [`htmx:targetError`](/events#htmx:targetError) | triggered when an invalid target is specified