Browse Source

Up Fullscreen

pull/4685/head
Artur Arseniev 4 years ago
parent
commit
3e4437152d
  1. 4
      src/commands/view/CommandAbstract.js
  2. 31
      src/commands/view/Fullscreen.js

4
src/commands/view/CommandAbstract.js

@ -112,8 +112,8 @@ export default class CommandAbstract extends Model {
/** /**
* Stop current command * Stop current command
*/ */
stopCommand() { stopCommand(opts) {
this.em.get('Commands').stop(this.id); this.em.get('Commands').stop(this.id, opts);
} }
/** /**

31
src/commands/view/Fullscreen.js

@ -6,9 +6,11 @@ export default {
* @return {Boolean} * @return {Boolean}
*/ */
isEnabled() { isEnabled() {
var d = document; const d = document;
if (d.fullscreenElement || d.webkitFullscreenElement || d.mozFullScreenElement) return 1; if (d.fullscreenElement || d.webkitFullscreenElement || d.mozFullScreenElement) {
else return 0; return true;
}
return false;
}, },
/** /**
@ -17,16 +19,20 @@ export default {
* @return {string} * @return {string}
*/ */
enable(el) { enable(el) {
var pfx = ''; let pfx = '';
if (el.requestFullscreen) el.requestFullscreen();
else if (el.webkitRequestFullscreen) { if (el.requestFullscreen) {
el.requestFullscreen();
} else if (el.webkitRequestFullscreen) {
pfx = 'webkit'; pfx = 'webkit';
el.webkitRequestFullscreen(); el.webkitRequestFullscreen();
} else if (el.mozRequestFullScreen) { } else if (el.mozRequestFullScreen) {
pfx = 'moz'; pfx = 'moz';
el.mozRequestFullScreen(); el.mozRequestFullScreen();
} else if (el.msRequestFullscreen) el.msRequestFullscreen(); } else if (el.msRequestFullscreen) {
else console.warn('Fullscreen not supported'); el.msRequestFullscreen();
}
return pfx; return pfx;
}, },
@ -35,6 +41,7 @@ export default {
*/ */
disable() { disable() {
const d = document; const d = document;
if (this.isEnabled()) { if (this.isEnabled()) {
if (d.exitFullscreen) d.exitFullscreen(); if (d.exitFullscreen) d.exitFullscreen();
else if (d.webkitExitFullscreen) d.webkitExitFullscreen(); else if (d.webkitExitFullscreen) d.webkitExitFullscreen();
@ -49,12 +56,10 @@ export default {
* @param {strinf} pfx Browser prefix * @param {strinf} pfx Browser prefix
* @param {Event} e * @param {Event} e
*/ */
fsChanged(pfx, e) { fsChanged(pfx) {
var d = document;
var ev = (pfx || '') + 'fullscreenchange';
if (!this.isEnabled()) { if (!this.isEnabled()) {
this.stop(null, this.sender); this.stopCommand({ sender: this.sender });
document.removeEventListener(ev, this.fsChanged); document.removeEventListener(`${pfx || ''}fullscreenchange`, this.fsChanged);
} }
}, },

Loading…
Cancel
Save