forked from Snck3rs/contao-leaflet-libraries
Update Leaflet.Control.FullScreen to version 1.6.0
This commit is contained in:
48
assets/leaflet-fullscreen/Control.FullScreen.js
vendored
48
assets/leaflet-fullscreen/Control.FullScreen.js
vendored
@@ -26,32 +26,53 @@ L.Control.FullScreen = L.Control.extend({
|
||||
}
|
||||
|
||||
this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this);
|
||||
this._map.fullscreenControl = this;
|
||||
|
||||
this._map.on('enterFullscreen exitFullscreen', this._toggleTitle, this);
|
||||
|
||||
return container;
|
||||
},
|
||||
|
||||
onRemove: function (map) {
|
||||
L.DomEvent
|
||||
.off(this.link, 'click', L.DomEvent.stopPropagation)
|
||||
.off(this.link, 'click', L.DomEvent.preventDefault)
|
||||
.off(this.link, 'click', this.toggleFullScreen, this);
|
||||
|
||||
L.DomEvent
|
||||
.off(this._container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.off(this._container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.off(this._container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, this);
|
||||
|
||||
L.DomEvent
|
||||
.off(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.off(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.off(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, this);
|
||||
},
|
||||
|
||||
_createButton: function (title, className, content, container, fn, context) {
|
||||
this.link = L.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
|
||||
.addListener(this.link, 'click', L.DomEvent.stopPropagation)
|
||||
.addListener(this.link, 'click', L.DomEvent.preventDefault)
|
||||
.addListener(this.link, 'click', fn, context);
|
||||
.on(this.link, 'click', L.DomEvent.stopPropagation)
|
||||
.on(this.link, 'click', L.DomEvent.preventDefault)
|
||||
.on(this.link, 'click', fn, context);
|
||||
|
||||
L.DomEvent
|
||||
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.addListener(container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
|
||||
.on(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.on(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.on(container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
|
||||
|
||||
L.DomEvent
|
||||
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.addListener(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
|
||||
.on(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
|
||||
.on(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
|
||||
.on(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
|
||||
|
||||
return this.link;
|
||||
},
|
||||
@@ -95,10 +116,15 @@ L.Control.FullScreen = L.Control.extend({
|
||||
}
|
||||
});
|
||||
|
||||
L.Map.include({
|
||||
toggleFullscreen: function () {
|
||||
this.fullscreenControl.toggleFullScreen();
|
||||
}
|
||||
});
|
||||
|
||||
L.Map.addInitHook(function () {
|
||||
if (this.options.fullscreenControl) {
|
||||
this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions);
|
||||
this.addControl(this.fullscreenControl);
|
||||
this.addControl(L.control.fullscreen(this.options.fullscreenControlOptions));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user