Disallow MultiModal dismissal while loading

This commit is contained in:
Jörn-Michael Miehe 2023-10-31 18:42:01 +00:00
parent 6ad52f8996
commit b422913d7c

View file

@ -9,7 +9,7 @@
<template v-else> <template v-else>
<figure> <figure>
<figcaption class="tag is-primary"> <figcaption class="tag is-primary">
{{ figure_caption }} {{ caption }}
</figcaption> </figcaption>
<div class="image is-square"> <div class="image is-square">
<img :src="image_src" alt="Kalender-Bild" /> <img :src="image_src" alt="Kalender-Bild" />
@ -30,7 +30,7 @@ export default class extends Vue {
public active = false; public active = false;
public progress = false; public progress = false;
public image_src = ""; public image_src = "";
public figure_caption = ""; public caption = "";
private on_keydown(e: KeyboardEvent) { private on_keydown(e: KeyboardEvent) {
if (e.key == "Escape") this.set_active(false); if (e.key == "Escape") this.set_active(false);
@ -49,13 +49,16 @@ export default class extends Vue {
} }
public set_active(state: boolean) { public set_active(state: boolean) {
// Cannot dismiss the "loading" screen
if (this.active && this.progress) return;
this.active = state; this.active = state;
} }
public show_image(src: string, caption: string = "") { public show_image(src: string, caption: string = "") {
this.progress = false; this.progress = false;
this.image_src = src; this.image_src = src;
this.figure_caption = caption; this.caption = caption;
this.set_active(true); this.set_active(true);
} }