🐛 ui: BulmaToast rebuild previous logic (now with explanation)

This commit is contained in:
Jörn-Michael Miehe 2025-12-28 16:48:16 +00:00
parent 24696fe44f
commit 8e8e894638

View file

@ -20,29 +20,27 @@ const emit = defineEmits<{
(event: "handle", handle: HBulmaToast): void; (event: "handle", handle: HBulmaToast): void;
}>(); }>();
const message = useTemplateRef("message"); const message_div = useTemplateRef("message");
onMounted(() => onMounted(() =>
emit("handle", { emit("handle", {
show(options: ToastOptions = {}): void { show(options: ToastOptions = {}): void {
if (message.value === null) return; if (message_div.value === null) return;
toast({ toast({
...options, ...options,
single: true, single: true,
message: message.value, message: message_div.value,
}); });
}, },
hide(): void { hide(): void {
if (message.value === null) return; // using "toast" detaches "message" from the invisible "div"
// => toast_div is not part of this component!
const toast_div = message_div.value?.parentElement;
const delete_button = toast_div?.querySelector("button.delete");
if (!(delete_button instanceof HTMLButtonElement)) return;
const toast_div = message.value.parentElement; delete_button.click();
if (toast_div === null) return;
const dbutton = toast_div.querySelector("button.delete");
if (!(dbutton instanceof HTMLButtonElement)) return;
dbutton.click();
}, },
}), }),
); );