/
setUpFullscreenToggler.js
37 lines (36 loc) · 1.22 KB
/
setUpFullscreenToggler.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
export function setUpFullscreenToggler(
{
componentsStates: {
isFullscreenOpen: isFullscreenOpenState
},
core: {
fullscreenToggler: self
}
}
) {
self.turnOnFullscreen = () => {
isFullscreenOpenState.set(true);
const documentElement = document.documentElement;
if (documentElement.requestFullscreen) {
documentElement.requestFullscreen();
} else if (documentElement.mozRequestFullScreen) {
documentElement.mozRequestFullScreen();
} else if (documentElement.webkitRequestFullscreen) {
documentElement.webkitRequestFullscreen();
} else if (documentElement.msRequestFullscreen) {
documentElement.msRequestFullscreen();
}
};
self.turnOffFullscreen = () => {
isFullscreenOpenState.set(false);
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
}