diff --git a/module/album/plugins/leaflet/Control.FullScreen.js b/module/album/plugins/leaflet/Control.FullScreen.js deleted file mode 100644 index fe582e7..0000000 --- a/module/album/plugins/leaflet/Control.FullScreen.js +++ /dev/null @@ -1,345 +0,0 @@ -/*! -* Based on package 'screenfull' -* v5.2.0 - 2021-11-03 -* (c) Sindre Sorhus; MIT License -* Added definition for using screenfull as an amd module -* Must be placed before the definition of leaflet.fullscreen -* as it is required by that -*/ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - define('screenfull', factory); - } else if (typeof module === 'object' && module.exports) { - module.exports.screenfull = factory(); - } else { - // Save 'screenfull' into global window variable - root.screenfull = factory(); - } -}(typeof self !== 'undefined' ? self : this, function () { - 'use strict'; - - var document = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? window.document : {}; - - var fn = (function () { - var val; - - var fnMap = [ - [ - 'requestFullscreen', - 'exitFullscreen', - 'fullscreenElement', - 'fullscreenEnabled', - 'fullscreenchange', - 'fullscreenerror' - ], - // New WebKit - [ - 'webkitRequestFullscreen', - 'webkitExitFullscreen', - 'webkitFullscreenElement', - 'webkitFullscreenEnabled', - 'webkitfullscreenchange', - 'webkitfullscreenerror' - - ], - // Old WebKit - [ - 'webkitRequestFullScreen', - 'webkitCancelFullScreen', - 'webkitCurrentFullScreenElement', - 'webkitCancelFullScreen', - 'webkitfullscreenchange', - 'webkitfullscreenerror' - - ], - [ - 'mozRequestFullScreen', - 'mozCancelFullScreen', - 'mozFullScreenElement', - 'mozFullScreenEnabled', - 'mozfullscreenchange', - 'mozfullscreenerror' - ], - [ - 'msRequestFullscreen', - 'msExitFullscreen', - 'msFullscreenElement', - 'msFullscreenEnabled', - 'MSFullscreenChange', - 'MSFullscreenError' - ] - ]; - - var i = 0; - var l = fnMap.length; - var ret = {}; - - for (; i < l; i++) { - val = fnMap[i]; - if (val && val[1] in document) { - for (i = 0; i < val.length; i++) { - ret[fnMap[0][i]] = val[i]; - } - return ret; - } - } - - return false; - })(); - - var eventNameMap = { - change: fn.fullscreenchange, - error: fn.fullscreenerror - }; - - var screenfull = { - request: function (element, options) { - return new Promise(function (resolve, reject) { - var onFullScreenEntered = function () { - this.off('change', onFullScreenEntered); - resolve(); - }.bind(this); - - this.on('change', onFullScreenEntered); - - element = element || document.documentElement; - - var returnPromise = element[fn.requestFullscreen](options); - - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenEntered).catch(reject); - } - }.bind(this)); - }, - exit: function () { - return new Promise(function (resolve, reject) { - if (!this.isFullscreen) { - resolve(); - return; - } - - var onFullScreenExit = function () { - this.off('change', onFullScreenExit); - resolve(); - }.bind(this); - - this.on('change', onFullScreenExit); - - var returnPromise = document[fn.exitFullscreen](); - - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenExit).catch(reject); - } - }.bind(this)); - }, - toggle: function (element, options) { - return this.isFullscreen ? this.exit() : this.request(element, options); - }, - onchange: function (callback) { - this.on('change', callback); - }, - onerror: function (callback) { - this.on('error', callback); - }, - on: function (event, callback) { - var eventName = eventNameMap[event]; - if (eventName) { - document.addEventListener(eventName, callback, false); - } - }, - off: function (event, callback) { - var eventName = eventNameMap[event]; - if (eventName) { - document.removeEventListener(eventName, callback, false); - } - }, - raw: fn - }; - - if (!fn) { - return {isEnabled: false}; - } else { - Object.defineProperties(screenfull, { - isFullscreen: { - get: function () { - return Boolean(document[fn.fullscreenElement]); - } - }, - element: { - enumerable: true, - get: function () { - return document[fn.fullscreenElement]; - } - }, - isEnabled: { - enumerable: true, - get: function () { - // Coerce to boolean in case of old WebKit - return Boolean(document[fn.fullscreenEnabled]); - } - } - }); - return screenfull; - } -})); - -/*! -* leaflet.fullscreen -*/ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // define an AMD module that requires 'leaflet' and 'screenfull' - // and resolve to an object containing leaflet and screenfull - define('leafletFullScreen', ['leaflet', 'screenfull'], factory); - } else if (typeof module === 'object' && module.exports) { - // define a CommonJS module that requires 'leaflet' and 'screenfull' - module.exports = factory(require('leaflet'), require('screenfull')); - } else { - // Assume 'leaflet' and 'screenfull' are loaded into global variable already - factory(root.L, root.screenfull); - } -}(typeof self !== 'undefined' ? self : this, function (leaflet, screenfull) { - 'use strict'; - - leaflet.Control.FullScreen = leaflet.Control.extend({ - options: { - position: 'topleft', - title: 'Full Screen', - titleCancel: 'Exit Full Screen', - forceSeparateButton: false, - forcePseudoFullscreen: false, - fullscreenElement: false - }, - - _screenfull: screenfull, - - onAdd: function (map) { - var className = 'leaflet-control-zoom-fullscreen', container, content = ''; - - if (map.zoomControl && !this.options.forceSeparateButton) { - container = map.zoomControl._container; - } else { - container = leaflet.DomUtil.create('div', 'leaflet-bar'); - } - - if (this.options.content) { - content = this.options.content; - } else { - className += ' fullscreen-icon'; - } - - this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this); - this._map.fullscreenControl = this; - - this._map.on('enterFullscreen exitFullscreen', this._toggleState, this); - - return container; - }, - - onRemove: function () { - leaflet.DomEvent - .off(this.link, 'click', leaflet.DomEvent.stop) - .off(this.link, 'click', this.toggleFullScreen, this); - - if (this._screenfull.isEnabled) { - leaflet.DomEvent - .off(this._container, this._screenfull.raw.fullscreenchange, leaflet.DomEvent.stop) - .off(this._container, this._screenfull.raw.fullscreenchange, this._handleFullscreenChange, this); - - leaflet.DomEvent - .off(document, this._screenfull.raw.fullscreenchange, leaflet.DomEvent.stop) - .off(document, this._screenfull.raw.fullscreenchange, this._handleFullscreenChange, this); - } - }, - - _createButton: function (title, className, content, container, fn, context) { - this.link = leaflet.DomUtil.create('a', className, container); - this.link.href = '#'; - this.link.title = title; - this.link.innerHTML = content; - - this.link.setAttribute('role', 'button'); - this.link.setAttribute('aria-label', title); - - L.DomEvent.disableClickPropagation(container); - - leaflet.DomEvent - .on(this.link, 'click', leaflet.DomEvent.stop) - .on(this.link, 'click', fn, context); - - if (this._screenfull.isEnabled) { - leaflet.DomEvent - .on(container, this._screenfull.raw.fullscreenchange, leaflet.DomEvent.stop) - .on(container, this._screenfull.raw.fullscreenchange, this._handleFullscreenChange, context); - - leaflet.DomEvent - .on(document, this._screenfull.raw.fullscreenchange, leaflet.DomEvent.stop) - .on(document, this._screenfull.raw.fullscreenchange, this._handleFullscreenChange, context); - } - - return this.link; - }, - - toggleFullScreen: function () { - var map = this._map; - map._exitFired = false; - if (map._isFullscreen) { - if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) { - this._screenfull.exit(); - } else { - leaflet.DomUtil.removeClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen'); - map.invalidateSize(); - } - map.fire('exitFullscreen'); - map._exitFired = true; - map._isFullscreen = false; - } - else { - if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) { - this._screenfull.request(this.options.fullscreenElement ? this.options.fullscreenElement : map._container); - } else { - leaflet.DomUtil.addClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen'); - map.invalidateSize(); - } - map.fire('enterFullscreen'); - map._isFullscreen = true; - } - }, - - _toggleState: function () { - this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel; - this._map._isFullscreen ? L.DomUtil.removeClass(this.link, 'leaflet-fullscreen-on') : L.DomUtil.addClass(this.link, 'leaflet-fullscreen-on'); - }, - - _handleFullscreenChange: function () { - var map = this._map; - map.invalidateSize(); - if (!this._screenfull.isFullscreen && !map._exitFired) { - map.fire('exitFullscreen'); - map._exitFired = true; - map._isFullscreen = false; - } - } - }); - - leaflet.Map.include({ - toggleFullscreen: function () { - this.fullscreenControl.toggleFullScreen(); - } - }); - - leaflet.Map.addInitHook(function () { - if (this.options.fullscreenControl) { - this.addControl(leaflet.control.fullscreen(this.options.fullscreenControlOptions)); - } - }); - - leaflet.control.fullscreen = function (options) { - return new leaflet.Control.FullScreen(options); - }; - - // must return an object containing also screenfull to make screenfull - // available outside of this package, if used as an amd module, - // as webpack cannot handle amd define with moduleid - return {leaflet: leaflet, screenfull: screenfull}; -}));