Current section
Files
Jump to
Current section
Files
priv/static/dev_joy.mjs
var element = document.documentElement;
var dev_joy_default = DevJoy = {
/**
* Adds event listeners to support full screen in `DevJoy`-based applications.
* Those listeners would communicate with the default implementation
* generated using [`DevJoy.Session.LiveView`](../DevJoy.Session.LiveView.html).
*
* @param {Object} liveSocket - The Phoenix LiveView socket instance.
*/
init: function(liveSocket) {
addEventListener("phx:dev_joy:fullscreen-toggle", toggleFullscreen);
element.addEventListener("fullscreenchange", fullscreenchangeHandler.bind(liveSocket));
fullscreenchangeHandler.bind(liveSocket)();
}
};
function fullscreenchangeHandler() {
if (document.fullscreenElement || document.webkitFullscreenElement || /* Opera/Safari */
document.msFullscreenElement) {
this.main.channel.push("dev_joy:fullscreenchange", { fullscreen: true });
} else {
this.main.channel.push("dev_joy:fullscreenchange", { fullscreen: false });
}
}
function toggleFullscreen(event) {
if (document.fullscreenElement || document.webkitFullscreenElement || /* Opera/Safari */
document.msFullscreenElement) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
}
}
}
export {
dev_joy_default as default
};
//# sourceMappingURL=dev_joy.mjs.map