From 3e4437152da0b6f333bab22487ea3138f95064fd Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 10 Oct 2022 12:25:34 +0400 Subject: [PATCH] Up Fullscreen --- src/commands/view/CommandAbstract.js | 4 ++-- src/commands/view/Fullscreen.js | 31 ++++++++++++++++------------ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/commands/view/CommandAbstract.js b/src/commands/view/CommandAbstract.js index 16a11ae79..759c6f7da 100644 --- a/src/commands/view/CommandAbstract.js +++ b/src/commands/view/CommandAbstract.js @@ -112,8 +112,8 @@ export default class CommandAbstract extends Model { /** * Stop current command */ - stopCommand() { - this.em.get('Commands').stop(this.id); + stopCommand(opts) { + this.em.get('Commands').stop(this.id, opts); } /** diff --git a/src/commands/view/Fullscreen.js b/src/commands/view/Fullscreen.js index b9934a5f5..165b4d81e 100644 --- a/src/commands/view/Fullscreen.js +++ b/src/commands/view/Fullscreen.js @@ -6,9 +6,11 @@ export default { * @return {Boolean} */ isEnabled() { - var d = document; - if (d.fullscreenElement || d.webkitFullscreenElement || d.mozFullScreenElement) return 1; - else return 0; + const d = document; + if (d.fullscreenElement || d.webkitFullscreenElement || d.mozFullScreenElement) { + return true; + } + return false; }, /** @@ -17,16 +19,20 @@ export default { * @return {string} */ enable(el) { - var pfx = ''; - if (el.requestFullscreen) el.requestFullscreen(); - else if (el.webkitRequestFullscreen) { + let pfx = ''; + + if (el.requestFullscreen) { + el.requestFullscreen(); + } else if (el.webkitRequestFullscreen) { pfx = 'webkit'; el.webkitRequestFullscreen(); } else if (el.mozRequestFullScreen) { pfx = 'moz'; el.mozRequestFullScreen(); - } else if (el.msRequestFullscreen) el.msRequestFullscreen(); - else console.warn('Fullscreen not supported'); + } else if (el.msRequestFullscreen) { + el.msRequestFullscreen(); + } + return pfx; }, @@ -35,6 +41,7 @@ export default { */ disable() { const d = document; + if (this.isEnabled()) { if (d.exitFullscreen) d.exitFullscreen(); else if (d.webkitExitFullscreen) d.webkitExitFullscreen(); @@ -49,12 +56,10 @@ export default { * @param {strinf} pfx Browser prefix * @param {Event} e */ - fsChanged(pfx, e) { - var d = document; - var ev = (pfx || '') + 'fullscreenchange'; + fsChanged(pfx) { if (!this.isEnabled()) { - this.stop(null, this.sender); - document.removeEventListener(ev, this.fsChanged); + this.stopCommand({ sender: this.sender }); + document.removeEventListener(`${pfx || ''}fullscreenchange`, this.fsChanged); } },