import * as htmx from 'htmx.org'; import {showErrorToast} from './modules/toast.js'; import 'htmx.org/dist/ext/ws.js'; // https://github.com/bigskysoftware/idiomorph#htmx import 'idiomorph/dist/idiomorph-ext.js'; // https://htmx.org/reference/#config htmx.config.requestClass = 'is-loading'; htmx.config.scrollIntoViewOnBoost = false; // https://htmx.org/events/#htmx:sendError document.body.addEventListener('htmx:sendError', (event) => { // TODO: add translations showErrorToast(`Network error when calling ${event.detail.requestConfig.path}`); }); // https://htmx.org/events/#htmx:responseError document.body.addEventListener('htmx:responseError', (event) => { // TODO: add translations showErrorToast(`Error ${event.detail.xhr.status} when calling ${event.detail.requestConfig.path}`); }); document.body.addEventListener('htmx:wsOpen', (evt) => { const socket = evt.detail.socketWrapper; socket.send(JSON.stringify({action: 'subscribe', data: {url: window.location.href}})); });