summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js')
-rw-r--r--www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js164
1 files changed, 0 insertions, 164 deletions
diff --git a/www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js b/www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js
deleted file mode 100644
index f1cd7ccc..00000000
--- a/www/wiki/extensions/Maps/resources/leaflet/leaflet.fullscreen/Control.FullScreen.js
+++ /dev/null
@@ -1,164 +0,0 @@
-(function() {
-
-L.Control.FullScreen = L.Control.extend({
- options: {
- position: 'topleft',
- title: 'Full Screen',
- forceSeparateButton: false,
- forcePseudoFullscreen: false
- },
-
- onAdd: function (map) {
- var className = 'leaflet-control-zoom-fullscreen', container;
-
- if (map.zoomControl && !this.options.forceSeparateButton) {
- container = map.zoomControl._container;
- } else {
- container = L.DomUtil.create('div', 'leaflet-bar');
- }
-
- this._createButton(this.options.title, className, container, this.toggleFullScreen, this);
-
- return container;
- },
-
- _createButton: function (title, className, container, fn, context) {
- var link = L.DomUtil.create('a', className, container);
- link.href = '#';
- link.title = title;
-
- L.DomEvent
- .addListener(link, 'click', L.DomEvent.stopPropagation)
- .addListener(link, 'click', L.DomEvent.preventDefault)
- .addListener(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._handleEscKey, context);
-
- L.DomEvent
- .addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
- .addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
- .addListener(document, fullScreenApi.fullScreenEventName, this._handleEscKey, context);
-
- return link;
- },
-
- toggleFullScreen: function () {
- var map = this._map;
- map._exitFired = false;
- if (map._isFullscreen) {
- if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
- fullScreenApi.cancelFullScreen(map._container);
- } else {
- L.DomUtil.removeClass(map._container, 'leaflet-pseudo-fullscreen');
- }
- map.invalidateSize();
- map.fire('exitFullscreen');
- map._exitFired = true;
- map._isFullscreen = false;
- }
- else {
- if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
- fullScreenApi.requestFullScreen(map._container);
- } else {
- L.DomUtil.addClass(map._container, 'leaflet-pseudo-fullscreen');
- }
- map.invalidateSize();
- map.fire('enterFullscreen');
- map._isFullscreen = true;
- }
- },
-
- _handleEscKey: function () {
- var map = this._map;
- if (!fullScreenApi.isFullScreen(map) && !map._exitFired) {
- map.fire('exitFullscreen');
- map._exitFired = true;
- map._isFullscreen = false;
- }
- }
-});
-
-L.Map.addInitHook(function () {
- if (this.options.fullscreenControl) {
- this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions);
- this.addControl(this.fullscreenControl);
- }
-});
-
-L.control.fullscreen = function (options) {
- return new L.Control.FullScreen(options);
-};
-
-/*
-Native FullScreen JavaScript API
--------------
-Assumes Mozilla naming conventions instead of W3C for now
-
-source : http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
-
-*/
-
- var
- fullScreenApi = {
- supportsFullScreen: false,
- isFullScreen: function() { return false; },
- requestFullScreen: function() {},
- cancelFullScreen: function() {},
- fullScreenEventName: '',
- prefix: ''
- },
- browserPrefixes = 'webkit moz o ms khtml'.split(' ');
-
- // check for native support
- if (typeof document.exitFullscreen !== 'undefined') {
- fullScreenApi.supportsFullScreen = true;
- } else {
- // check for fullscreen support by vendor prefix
- for (var i = 0, il = browserPrefixes.length; i < il; i++ ) {
- fullScreenApi.prefix = browserPrefixes[i];
- if (typeof document[fullScreenApi.prefix + 'CancelFullScreen' ] !== 'undefined' ) {
- fullScreenApi.supportsFullScreen = true;
- break;
- }
- }
- }
-
- // update methods to do something useful
- if (fullScreenApi.supportsFullScreen) {
- fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
- fullScreenApi.isFullScreen = function() {
- switch (this.prefix) {
- case '':
- return document.fullScreen;
- case 'webkit':
- return document.webkitIsFullScreen;
- default:
- return document[this.prefix + 'FullScreen'];
- }
- };
- fullScreenApi.requestFullScreen = function(el) {
- return (this.prefix === '') ? el.requestFullscreen() : el[this.prefix + 'RequestFullScreen']();
- };
- fullScreenApi.cancelFullScreen = function(el) {
- return (this.prefix === '') ? document.exitFullscreen() : document[this.prefix + 'CancelFullScreen']();
- };
- }
-
- // jQuery plugin
- if (typeof jQuery !== 'undefined') {
- jQuery.fn.requestFullScreen = function() {
- return this.each(function() {
- var el = jQuery(this);
- if (fullScreenApi.supportsFullScreen) {
- fullScreenApi.requestFullScreen(el);
- }
- });
- };
- }
-
- // export api
- window.fullScreenApi = fullScreenApi;
-})();