HomeDashboard/.venv/lib/python3.12/site-packages/nicegui/elements/fullscreen.js
2026-01-03 14:54:18 +01:00

33 lines
1.2 KiB
JavaScript

export default {
props: {
requireEscapeHold: Boolean,
},
mounted() {
document.addEventListener("fullscreenchange", this.handleFullscreenChange);
document.addEventListener("mozfullscreenchange", this.handleFullscreenChange);
document.addEventListener("webkitfullscreenchange", this.handleFullscreenChange);
document.addEventListener("msfullscreenchange", this.handleFullscreenChange);
},
unmounted() {
document.removeEventListener("fullscreenchange", this.handleFullscreenChange);
document.removeEventListener("mozfullscreenchange", this.handleFullscreenChange);
document.removeEventListener("webkitfullscreenchange", this.handleFullscreenChange);
document.removeEventListener("msfullscreenchange", this.handleFullscreenChange);
},
methods: {
handleFullscreenChange() {
this.$emit("update:model-value", Quasar.AppFullscreen.isActive);
},
enter() {
Quasar.AppFullscreen.request().then(() => {
if (this.requireEscapeHold && navigator.keyboard && typeof navigator.keyboard.lock === "function") {
navigator.keyboard.lock(["Escape"]);
}
});
},
exit() {
Quasar.AppFullscreen.exit();
},
},
};