From 653c004b4f44396cdb4dce04c17152c7563e37f8 Mon Sep 17 00:00:00 2001 From: yangdelong <828900aaa> Date: 星期五, 09 四月 2021 11:02:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/plugin/FullScreen.js | 350 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 175 insertions(+), 175 deletions(-) diff --git a/src/components/plugin/FullScreen.js b/src/components/plugin/FullScreen.js index f96831e..9ef7d5a 100644 --- a/src/components/plugin/FullScreen.js +++ b/src/components/plugin/FullScreen.js @@ -1,175 +1,175 @@ -/* eslint-disable */ -// 鍏ㄥ睆灞曠ず鎻掍欢 -const init = (L) => { - (function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD - define(['leaflet'], factory) - } else if (typeof module !== 'undefined') { - // Node/CommonJS - // module.exports = factory(require('leaflet')) - factory(L) - } else { - // Browser globals - if (typeof window.L === 'undefined') { - throw new Error('Leaflet must be loaded first') - } - factory(window.L) - } - }(function (L) { - L.Control.Fullscreen = L.Control.extend({ - options: { - position: 'topleft', - title: { - false: 'View Fullscreen', - true: 'Exit Fullscreen' - } - }, - - onAdd: function (map) { - var container = L.DomUtil.create('div', 'leaflet-control-fullscreen leaflet-bar leaflet-control') - - this.link = L.DomUtil.create('a', 'leaflet-control-fullscreen-button leaflet-bar-part', container) - this.link.href = '#' - - this._map = map - this._map.on('fullscreenchange', this._toggleTitle, this) - this._toggleTitle() - - L.DomEvent.on(this.link, 'click', this._click, this) - - return container - }, - - _click: function (e) { - L.DomEvent.stopPropagation(e) - L.DomEvent.preventDefault(e) - this._map.toggleFullscreen(this.options) - }, - - _toggleTitle: function () { - this.link.title = this.optionsthis._map.isFullscreen()] - } - }) - - L.Map.include({ - isFullscreen: function () { - return this._isFullscreen || false - }, - - toggleFullscreen: function (options) { - var container = this.getContainer() - if (this.isFullscreen()) { - if (options && options.pseudoFullscreen) { - this._disablePseudoFullscreen(container) - } else if (document.exitFullscreen) { - document.exitFullscreen() - } else if (document.mozCancelFullScreen) { - document.mozCancelFullScreen() - } else if (document.webkitCancelFullScreen) { - document.webkitCancelFullScreen() - } else if (document.msExitFullscreen) { - document.msExitFullscreen() - } else { - this._disablePseudoFullscreen(container) - } - } else { - if (options && options.pseudoFullscreen) { - this._enablePseudoFullscreen(container) - } else if (container.requestFullscreen) { - container.requestFullscreen() - } else if (container.mozRequestFullScreen) { - container.mozRequestFullScreen() - } else if (container.webkitRequestFullscreen) { - container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT) - } else if (container.msRequestFullscreen) { - container.msRequestFullscreen() - } else { - this._enablePseudoFullscreen(container) - } - } - }, - - _enablePseudoFullscreen: function (container) { - L.DomUtil.addClass(container, 'leaflet-pseudo-fullscreen') - this._setFullscreen(true) - this.fire('fullscreenchange') - }, - - _disablePseudoFullscreen: function (container) { - L.DomUtil.removeClass(container, 'leaflet-pseudo-fullscreen') - this._setFullscreen(false) - this.fire('fullscreenchange') - }, - - _setFullscreen: function (fullscreen) { - this._isFullscreen = fullscreen - var container = this.getContainer() - if (fullscreen) { - L.DomUtil.addClass(container, 'leaflet-fullscreen-on') - } else { - L.DomUtil.removeClass(container, 'leaflet-fullscreen-on') - } - this.invalidateSize() - }, - - _onFullscreenChange: function (e) { - var fullscreenElement = - document.fullscreenElement || - document.mozFullScreenElement || - document.webkitFullscreenElement || - document.msFullscreenElement - - if (fullscreenElement === this.getContainer() && !this._isFullscreen) { - this._setFullscreen(true) - this.fire('fullscreenchange') - } else if (fullscreenElement !== this.getContainer() && this._isFullscreen) { - this._setFullscreen(false) - this.fire('fullscreenchange') - } - } - }) - - L.Map.mergeOptions({ - fullscreenControl: false - }) - - L.Map.addInitHook(function () { - if (this.options.fullscreenControl) { - this.fullscreenControl = new L.Control.Fullscreen(this.options.fullscreenControl) - this.addControl(this.fullscreenControl) - } - - var fullscreenchange - - if ('onfullscreenchange' in document) { - fullscreenchange = 'fullscreenchange' - } else if ('onmozfullscreenchange' in document) { - fullscreenchange = 'mozfullscreenchange' - } else if ('onwebkitfullscreenchange' in document) { - fullscreenchange = 'webkitfullscreenchange' - } else if ('onmsfullscreenchange' in document) { - fullscreenchange = 'MSFullscreenChange' - } - - if (fullscreenchange) { - var onFullscreenChange = L.bind(this._onFullscreenChange, this) - - this.whenReady(function () { - L.DomEvent.on(document, fullscreenchange, onFullscreenChange) - }) - - this.on('unload', function () { - L.DomEvent.off(document, fullscreenchange, onFullscreenChange) - }) - } - }) - - L.control.fullscreen = function (options) { - return new L.Control.Fullscreen(options) - } - })) -} -export default { - init -} +/* eslint-disable */ +// 鍏ㄥ睆灞曠ず鎻掍欢 +const init = (L) => { + (function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD + define(['leaflet'], factory) + } else if (typeof module !== 'undefined') { + // Node/CommonJS + // module.exports = factory(require('leaflet')) + factory(L) + } else { + // Browser globals + if (typeof window.L === 'undefined') { + throw new Error('Leaflet must be loaded first') + } + factory(window.L) + } + }(function (L) { + L.Control.Fullscreen = L.Control.extend({ + options: { + position: 'topleft', + title: { + false: 'View Fullscreen', + true: 'Exit Fullscreen' + } + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', 'leaflet-control-fullscreen leaflet-bar leaflet-control') + + this.link = L.DomUtil.create('a', 'leaflet-control-fullscreen-button leaflet-bar-part', container) + this.link.href = '#' + + this._map = map + this._map.on('fullscreenchange', this._toggleTitle, this) + this._toggleTitle() + + L.DomEvent.on(this.link, 'click', this._click, this) + + return container + }, + + _click: function (e) { + L.DomEvent.stopPropagation(e) + L.DomEvent.preventDefault(e) + this._map.toggleFullscreen(this.options) + }, + + _toggleTitle: function () { + this.link.title = this.optionsthis._map.isFullscreen()] + } + }) + + L.Map.include({ + isFullscreen: function () { + return this._isFullscreen || false + }, + + toggleFullscreen: function (options) { + var container = this.getContainer() + if (this.isFullscreen()) { + if (options && options.pseudoFullscreen) { + this._disablePseudoFullscreen(container) + } else if (document.exitFullscreen) { + document.exitFullscreen() + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen() + } else if (document.webkitCancelFullScreen) { + document.webkitCancelFullScreen() + } else if (document.msExitFullscreen) { + document.msExitFullscreen() + } else { + this._disablePseudoFullscreen(container) + } + } else { + if (options && options.pseudoFullscreen) { + this._enablePseudoFullscreen(container) + } else if (container.requestFullscreen) { + container.requestFullscreen() + } else if (container.mozRequestFullScreen) { + container.mozRequestFullScreen() + } else if (container.webkitRequestFullscreen) { + container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT) + } else if (container.msRequestFullscreen) { + container.msRequestFullscreen() + } else { + this._enablePseudoFullscreen(container) + } + } + }, + + _enablePseudoFullscreen: function (container) { + L.DomUtil.addClass(container, 'leaflet-pseudo-fullscreen') + this._setFullscreen(true) + this.fire('fullscreenchange') + }, + + _disablePseudoFullscreen: function (container) { + L.DomUtil.removeClass(container, 'leaflet-pseudo-fullscreen') + this._setFullscreen(false) + this.fire('fullscreenchange') + }, + + _setFullscreen: function (fullscreen) { + this._isFullscreen = fullscreen + var container = this.getContainer() + if (fullscreen) { + L.DomUtil.addClass(container, 'leaflet-fullscreen-on') + } else { + L.DomUtil.removeClass(container, 'leaflet-fullscreen-on') + } + this.invalidateSize() + }, + + _onFullscreenChange: function (e) { + var fullscreenElement = + document.fullscreenElement || + document.mozFullScreenElement || + document.webkitFullscreenElement || + document.msFullscreenElement + + if (fullscreenElement === this.getContainer() && !this._isFullscreen) { + this._setFullscreen(true) + this.fire('fullscreenchange') + } else if (fullscreenElement !== this.getContainer() && this._isFullscreen) { + this._setFullscreen(false) + this.fire('fullscreenchange') + } + } + }) + + L.Map.mergeOptions({ + fullscreenControl: false + }) + + L.Map.addInitHook(function () { + if (this.options.fullscreenControl) { + this.fullscreenControl = new L.Control.Fullscreen(this.options.fullscreenControl) + this.addControl(this.fullscreenControl) + } + + var fullscreenchange + + if ('onfullscreenchange' in document) { + fullscreenchange = 'fullscreenchange' + } else if ('onmozfullscreenchange' in document) { + fullscreenchange = 'mozfullscreenchange' + } else if ('onwebkitfullscreenchange' in document) { + fullscreenchange = 'webkitfullscreenchange' + } else if ('onmsfullscreenchange' in document) { + fullscreenchange = 'MSFullscreenChange' + } + + if (fullscreenchange) { + var onFullscreenChange = L.bind(this._onFullscreenChange, this) + + this.whenReady(function () { + L.DomEvent.on(document, fullscreenchange, onFullscreenChange) + }) + + this.on('unload', function () { + L.DomEvent.off(document, fullscreenchange, onFullscreenChange) + }) + } + }) + + L.control.fullscreen = function (options) { + return new L.Control.Fullscreen(options) + } + })) +} +export default { + init +} -- Gitblit v1.8.0