mirror of
https://github.com/go-gitea/gitea
synced 2025-12-06 21:08:25 +00:00
A big step towards enabling strict mode in Typescript. There was definitely a good share of potential bugs while refactoring this. When in doubt, I opted to keep the potentially broken behaviour. Notably, the `DOMEvent` type is gone, it was broken and we're better of with type assertions on `e.target`. --------- Signed-off-by: silverwind <me@silverwind.io> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
27 lines
922 B
TypeScript
27 lines
922 B
TypeScript
import htmx from 'htmx.org';
|
|
import 'idiomorph/htmx';
|
|
import type {HtmxResponseInfo} from 'htmx.org';
|
|
import {showErrorToast} from './modules/toast.ts';
|
|
|
|
type HtmxEvent = Event & {detail: HtmxResponseInfo};
|
|
|
|
export function initHtmx() {
|
|
window.htmx = htmx;
|
|
|
|
// 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: Partial<HtmxEvent>) => {
|
|
// TODO: add translations
|
|
showErrorToast(`Network error when calling ${event.detail!.requestConfig.path}`);
|
|
});
|
|
|
|
// https://htmx.org/events/#htmx:responseError
|
|
document.body.addEventListener('htmx:responseError', (event: Partial<HtmxEvent>) => {
|
|
// TODO: add translations
|
|
showErrorToast(`Error ${event.detail!.xhr.status} when calling ${event.detail!.requestConfig.path}`);
|
|
});
|
|
}
|