| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | 
							- /**
 
-  * --------------------------------------------
 
-  * AdminLTE Fullscreen.js
 
-  * License MIT
 
-  * --------------------------------------------
 
-  */
 
- import $ from 'jquery'
 
- /**
 
-  * Constants
 
-  * ====================================================
 
-  */
 
- const NAME = 'Fullscreen'
 
- const DATA_KEY = 'lte.fullscreen'
 
- const JQUERY_NO_CONFLICT = $.fn[NAME]
 
- const SELECTOR_DATA_WIDGET = '[data-widget="fullscreen"]'
 
- const SELECTOR_ICON = `${SELECTOR_DATA_WIDGET} i`
 
- const EVENT_FULLSCREEN_CHANGE = 'webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange'
 
- const Default = {
 
-   minimizeIcon: 'fa-compress-arrows-alt',
 
-   maximizeIcon: 'fa-expand-arrows-alt'
 
- }
 
- /**
 
-  * Class Definition
 
-  * ====================================================
 
-  */
 
- class Fullscreen {
 
-   constructor(_element, _options) {
 
-     this.element = _element
 
-     this.options = $.extend({}, Default, _options)
 
-   }
 
-   // Public
 
-   toggle() {
 
-     if (document.fullscreenElement ||
 
-       document.mozFullScreenElement ||
 
-       document.webkitFullscreenElement ||
 
-       document.msFullscreenElement) {
 
-       this.windowed()
 
-     } else {
 
-       this.fullscreen()
 
-     }
 
-   }
 
-   toggleIcon() {
 
-     if (document.fullscreenElement ||
 
-       document.mozFullScreenElement ||
 
-       document.webkitFullscreenElement ||
 
-       document.msFullscreenElement) {
 
-       $(SELECTOR_ICON).removeClass(this.options.maximizeIcon).addClass(this.options.minimizeIcon)
 
-     } else {
 
-       $(SELECTOR_ICON).removeClass(this.options.minimizeIcon).addClass(this.options.maximizeIcon)
 
-     }
 
-   }
 
-   fullscreen() {
 
-     if (document.documentElement.requestFullscreen) {
 
-       document.documentElement.requestFullscreen()
 
-     } else if (document.documentElement.webkitRequestFullscreen) {
 
-       document.documentElement.webkitRequestFullscreen()
 
-     } else if (document.documentElement.msRequestFullscreen) {
 
-       document.documentElement.msRequestFullscreen()
 
-     }
 
-   }
 
-   windowed() {
 
-     if (document.exitFullscreen) {
 
-       document.exitFullscreen()
 
-     } else if (document.webkitExitFullscreen) {
 
-       document.webkitExitFullscreen()
 
-     } else if (document.msExitFullscreen) {
 
-       document.msExitFullscreen()
 
-     }
 
-   }
 
-   // Static
 
-   static _jQueryInterface(config) {
 
-     let data = $(this).data(DATA_KEY)
 
-     if (!data) {
 
-       data = $(this).data()
 
-     }
 
-     const _options = $.extend({}, Default, typeof config === 'object' ? config : data)
 
-     const plugin = new Fullscreen($(this), _options)
 
-     $(this).data(DATA_KEY, typeof config === 'object' ? config : data)
 
-     if (typeof config === 'string' && /toggle|toggleIcon|fullscreen|windowed/.test(config)) {
 
-       plugin[config]()
 
-     } else {
 
-       plugin.init()
 
-     }
 
-   }
 
- }
 
- /**
 
-   * Data API
 
-   * ====================================================
 
-   */
 
- $(document).on('click', SELECTOR_DATA_WIDGET, function () {
 
-   Fullscreen._jQueryInterface.call($(this), 'toggle')
 
- })
 
- $(document).on(EVENT_FULLSCREEN_CHANGE, () => {
 
-   Fullscreen._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'toggleIcon')
 
- })
 
- /**
 
-  * jQuery API
 
-  * ====================================================
 
-  */
 
- $.fn[NAME] = Fullscreen._jQueryInterface
 
- $.fn[NAME].Constructor = Fullscreen
 
- $.fn[NAME].noConflict = function () {
 
-   $.fn[NAME] = JQUERY_NO_CONFLICT
 
-   return Fullscreen._jQueryInterface
 
- }
 
- export default Fullscreen
 
 
  |