fix loading livereload extension

This commit is contained in:
maddalax 2024-11-09 12:32:30 -06:00
parent a756a0484f
commit b234ead964
4 changed files with 20 additions and 17 deletions

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,13 @@
export function hasExtension(name: string): boolean {
for (const element of Array.from(document.querySelectorAll("[hx-ext]"))) {
const value = element.getAttribute("hx-ext");
if(value != null) {
const split = value.split(" ").map(s => s.replace(",", ""))
if(split.includes(name)) {
return true;
}
}
}
return false;
}

View file

@ -1,24 +1,18 @@
import htmx from "htmx.org";
import {hasExtension} from "./extension";
let lastVersion = "";
htmx.defineExtension("livereload", {
init: function () {
let enabled = false
for (const element of Array.from(htmx.findAll("[hx-ext]"))) {
const value = element.getAttribute("hx-ext");
if(value?.split(" ").includes("livereload")) {
enabled = true
break;
}
}
let enabled = hasExtension("livereload")
if(!enabled) {
return
}
console.log('livereload extension initialized.');
console.info('livereload extension initialized.');
// Create a new EventSource object and point it to your SSE endpoint
const eventSource = new EventSource('/dev/livereload');
// Listen for messages from the server

View file

@ -1,13 +1,9 @@
import {ws} from "./ws";
import {hasExtension} from "./extension";
window.onload = function () {
const elements = document.querySelectorAll("[hx-extension]");
for (let element of Array.from(elements)) {
const value = element.getAttribute("hx-extension");
if(value != null && value.split(" ").includes("ws")) {
addWsEventHandlers()
break;
}
if(hasExtension("ws")) {
addWsEventHandlers()
}
};