refactor: share dom ready
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
export {};
|
||||
|
||||
import { onReady } from "./utils";
|
||||
|
||||
type ToastFn = (opts: { message: string; duration?: number }) => void;
|
||||
|
||||
const getToast = (): ToastFn | null => {
|
||||
@@ -33,15 +35,6 @@ const getTriggerFromHtmxEvent = (event: Event): Element | null => {
|
||||
return detail.detail?.elt ?? null;
|
||||
};
|
||||
|
||||
const onReady = (fn: () => void): void => {
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", fn, { once: true });
|
||||
return;
|
||||
}
|
||||
|
||||
fn();
|
||||
};
|
||||
|
||||
onReady(() => {
|
||||
document.addEventListener("htmx:beforeRequest", (event) => {
|
||||
setBusy(getTriggerFromHtmxEvent(event), true);
|
||||
|
||||
Reference in New Issue
Block a user