Loading public/javascript/redmic/modules/user/FullscreenToggle.js +56 −6 Original line number Diff line number Diff line define([ 'dojo/_base/declare' , 'dojo/_base/lang' , 'dojo/on' , 'put-selector/put' , 'redmic/modules/base/_Module' , 'redmic/modules/base/_Show' ], function( declare , lang , on , put , _Module , _Show Loading @@ -22,7 +24,11 @@ define([ this.config = { ownChannel: 'fullscreenToggle', 'class': 'fullscreenToggle' 'class': 'fullscreenToggle', enableClass: 'fa-expand', disableClass: 'fa-compress', _fullscreenStatus: false }; lang.mixin(this, this.config, args); Loading @@ -33,18 +39,62 @@ define([ this.inherited(arguments); put(this.domNode, '[title=$]', this.i18n.fullscreen); put(this.domNode, 'i'); this.buttonNode = put(this.domNode, 'i.fa.' + this.enableClass); on(this.domNode, 'click', lang.hitch(this, this._fullscreenOnClick)); this.domNode.onclick = lang.hitch(this, this._fullscreenOnClick); var fullscreenEvents = ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange']; on(this.ownerDocument, fullscreenEvents, lang.hitch(this, this._fullscreenOnChange)); }, _fullscreenOnClick: function(evt) { if (this.ownerDocument.fullscreenElement) { this.ownerDocument.exitFullscreen(); if (this._fullscreenStatus) { this._disableFullscreen(); put(this.buttonNode, '.' + this.enableClass); put(this.buttonNode, '!' + this.disableClass); } else { this.ownerDocumentBody.requestFullscreen(); this._enableFullscreen(); put(this.buttonNode, '!' + this.enableClass); put(this.buttonNode, '.' + this.disableClass); } }, _enableFullscreen: function() { var reqFullscreenMethodName; if (this.ownerDocumentBody.webkitRequestFullscreen) { reqFullscreenMethodName = 'webkitRequestFullscreen'; } else if (this.ownerDocumentBody.mozRequestFullscreen) { reqFullscreenMethodName = 'mozRequestFullscreen'; } else if (this.ownerDocumentBody.requestFullscreen) { reqFullscreenMethodName = 'requestFullscreen'; } reqFullscreenMethodName && this.ownerDocumentBody[reqFullscreenMethodName](); }, _disableFullscreen: function() { var exitFullscreenMethodName; if (this.ownerDocument.webkitExitFullscreen) { exitFullscreenMethodName = 'webkitExitFullscreen'; } else if (this.ownerDocument.mozExitFullscreen) { exitFullscreenMethodName = 'mozExitFullscreen'; } else if (this.ownerDocument.exitFullscreen) { exitFullscreenMethodName = 'exitFullscreen'; } exitFullscreenMethodName && this.ownerDocument[exitFullscreenMethodName](); }, _fullscreenOnChange: function(evt) { this._fullscreenStatus = !this._fullscreenStatus; }, _getNodeToShow: function() { Loading stylesheets @ 6f0faabe Compare 9c54260f to 6f0faabe Original line number Diff line number Diff line Subproject commit 9c54260f2853df317e63d483bc14501e1a8e6268 Subproject commit 6f0faabe92450cbb027989eca89340a81cce481b Loading
public/javascript/redmic/modules/user/FullscreenToggle.js +56 −6 Original line number Diff line number Diff line define([ 'dojo/_base/declare' , 'dojo/_base/lang' , 'dojo/on' , 'put-selector/put' , 'redmic/modules/base/_Module' , 'redmic/modules/base/_Show' ], function( declare , lang , on , put , _Module , _Show Loading @@ -22,7 +24,11 @@ define([ this.config = { ownChannel: 'fullscreenToggle', 'class': 'fullscreenToggle' 'class': 'fullscreenToggle', enableClass: 'fa-expand', disableClass: 'fa-compress', _fullscreenStatus: false }; lang.mixin(this, this.config, args); Loading @@ -33,18 +39,62 @@ define([ this.inherited(arguments); put(this.domNode, '[title=$]', this.i18n.fullscreen); put(this.domNode, 'i'); this.buttonNode = put(this.domNode, 'i.fa.' + this.enableClass); on(this.domNode, 'click', lang.hitch(this, this._fullscreenOnClick)); this.domNode.onclick = lang.hitch(this, this._fullscreenOnClick); var fullscreenEvents = ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange']; on(this.ownerDocument, fullscreenEvents, lang.hitch(this, this._fullscreenOnChange)); }, _fullscreenOnClick: function(evt) { if (this.ownerDocument.fullscreenElement) { this.ownerDocument.exitFullscreen(); if (this._fullscreenStatus) { this._disableFullscreen(); put(this.buttonNode, '.' + this.enableClass); put(this.buttonNode, '!' + this.disableClass); } else { this.ownerDocumentBody.requestFullscreen(); this._enableFullscreen(); put(this.buttonNode, '!' + this.enableClass); put(this.buttonNode, '.' + this.disableClass); } }, _enableFullscreen: function() { var reqFullscreenMethodName; if (this.ownerDocumentBody.webkitRequestFullscreen) { reqFullscreenMethodName = 'webkitRequestFullscreen'; } else if (this.ownerDocumentBody.mozRequestFullscreen) { reqFullscreenMethodName = 'mozRequestFullscreen'; } else if (this.ownerDocumentBody.requestFullscreen) { reqFullscreenMethodName = 'requestFullscreen'; } reqFullscreenMethodName && this.ownerDocumentBody[reqFullscreenMethodName](); }, _disableFullscreen: function() { var exitFullscreenMethodName; if (this.ownerDocument.webkitExitFullscreen) { exitFullscreenMethodName = 'webkitExitFullscreen'; } else if (this.ownerDocument.mozExitFullscreen) { exitFullscreenMethodName = 'mozExitFullscreen'; } else if (this.ownerDocument.exitFullscreen) { exitFullscreenMethodName = 'exitFullscreen'; } exitFullscreenMethodName && this.ownerDocument[exitFullscreenMethodName](); }, _fullscreenOnChange: function(evt) { this._fullscreenStatus = !this._fullscreenStatus; }, _getNodeToShow: function() { Loading
stylesheets @ 6f0faabe Compare 9c54260f to 6f0faabe Original line number Diff line number Diff line Subproject commit 9c54260f2853df317e63d483bc14501e1a8e6268 Subproject commit 6f0faabe92450cbb027989eca89340a81cce481b