Merge branch 'dev' into v2.0v2.0

This commit is contained in:
Carson Gross 2023-12-14 15:52:35 -07:00
commit 6e63f1c559

View File

@ -50,7 +50,7 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions
// Try to create EventSources when elements are processed // Try to create EventSources when elements are processed
case "htmx:afterProcessNode": case "htmx:afterProcessNode":
createEventSourceOnElement(evt.target); ensureEventSourceOnElement(evt.target);
registerSSE(evt.target); registerSSE(evt.target);
} }
} }
@ -187,14 +187,14 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions
} }
/** /**
* createEventSourceOnElement creates a new EventSource connection on the provided element. * ensureEventSourceOnElement creates a new EventSource connection on the provided element.
* If a usable EventSource already exists, then it is returned. If not, then a new EventSource * If a usable EventSource already exists, then it is returned. If not, then a new EventSource
* is created and stored in the element's internalData. * is created and stored in the element's internalData.
* @param {HTMLElement} elt * @param {HTMLElement} elt
* @param {number} retryCount * @param {number} retryCount
* @returns {EventSource | null} * @returns {EventSource | null}
*/ */
function createEventSourceOnElement(elt, retryCount) { function ensureEventSourceOnElement(elt, retryCount) {
if (elt == null) { if (elt == null) {
return null; return null;
@ -207,7 +207,7 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions
return; return;
} }
createEventSource(child, sseURL, retryCount); ensureEventSource(child, sseURL, retryCount);
}); });
// handle legacy sse, remove for HTMX2 // handle legacy sse, remove for HTMX2
@ -217,12 +217,12 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions
return; return;
} }
createEventSource(child, sseURL, retryCount); ensureEventSource(child, sseURL, retryCount);
}); });
} }
function createEventSource(elt, url, retryCount) { function ensureEventSource(elt, url, retryCount) {
var source = htmx.createEventSource(url); var source = htmx.createEventSource(url);
source.onerror = function(err) { source.onerror = function(err) {
@ -240,7 +240,7 @@ This extension adds support for Server Sent Events to htmx. See /www/extensions
retryCount = retryCount || 0; retryCount = retryCount || 0;
var timeout = Math.random() * (2 ^ retryCount) * 500; var timeout = Math.random() * (2 ^ retryCount) * 500;
window.setTimeout(function() { window.setTimeout(function() {
createEventSourceOnElement(elt, Math.min(7, retryCount + 1)); ensureEventSourceOnElement(elt, Math.min(7, retryCount + 1));
}, timeout); }, timeout);
} }
}; };