PageSourceSearch

https://visapourlimage.com/wp-content/themes/uncode/library/js/lib/lg-fullscreen.js?ver=1151487057

js visapourlimage.com collected 2026-09-24 20:00:24 UTC 4,967 bytes, 142 lines download raw bytes

1/*!
2 * lightgallery | 2.5.0 | June 13th 2022
3 * http://www.lightgalleryjs.com/
4 * Copyright (c) 2020 Sachin Neravath;
5 * @license GPLv3
6 */
7
8(function (global, factory) {
9	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
10	typeof define === 'function' && define.amd ? define(factory) :
11	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.lgFullscreen = factory());
12}(this, (function () { 'use strict';
13
14	/*! *****************************************************************************
15	Copyright (c) Microsoft Corporation.
16
17	Permission to use, copy, modify, and/or distribute this software for any
18	purpose with or without fee is hereby granted.
19
20	THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
21	REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
22	AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
23	INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
24	LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
25	OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
26	PERFORMANCE OF THIS SOFTWARE.
27	***************************************************************************** */
28
29	var __assign = function() {
30		__assign = Object.assign || function __assign(t) {
31			for (var s, i = 1, n = arguments.length; i < n; i++) {
32				s = arguments[i];
33				for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
34			}
35			return t;
36		};
37		return __assign.apply(this, arguments);
38	};
39
40	var fullscreenSettings = {
41		fullScreen: true,
42		fullscreenPluginStrings: {
43			toggleFullscreen: 'Toggle Fullscreen',
44		},
45	};
46
47	var FullScreen = /** @class */ (function () {
48		function FullScreen(instance, $LG) {
49			// get lightGallery core plugin instance
50			this.core = instance;
51			this.$LG = $LG;
52			// extend module default settings with lightGallery core settings
53			this.settings = __assign(__assign({}, fullscreenSettings), this.core.settings);
54			return this;
55		}
56		FullScreen.prototype.init = function () {
57			var fullScreen = '';
58			if (this.settings.fullScreen) {
59				// check for fullscreen browser support
60				if (!document.fullscreenEnabled &&
61					!document.webkitFullscreenEnabled &&
62					!document.mozFullScreenEnabled &&
63					!document.msFullscreenEnabled) {
64					return;
65				}
66				else {
67					fullScreen = "<button type=\"button\" aria-label=\"" + this.settings.fullscreenPluginStrings['toggleFullscreen'] + "\" class=\"lg-fullscreen lg-icon\"></button>";
68					this.core.$toolbar.append(fullScreen);
69					this.fullScreen();
70				}
71			}
72		};
73		FullScreen.prototype.isFullScreen = function () {
74			return (document.fullscreenElement ||
75				document.mozFullScreenElement ||
76				document.webkitFullscreenElement ||
77				document.msFullscreenElement);
78		};
79		FullScreen.prototype.requestFullscreen = function () {
80			var el = document.documentElement;
81			if (el.requestFullscreen) {
82				el.requestFullscreen();
83			}
84			else if (el.msRequestFullscreen) {
85				el.msRequestFullscreen();
86			}
87			else if (el.mozRequestFullScreen) {
88				el.mozRequestFullScreen();
89			}
90			else if (el.webkitRequestFullscreen) {
91				el.webkitRequestFullscreen();
92			}
93		};
94		FullScreen.prototype.exitFullscreen = function () {
95			if (document.exitFullscreen) {
96				document.exitFullscreen();
97			}
98			else if (document.msExitFullscreen) {
99				document.msExitFullscreen();
100			}
101			else if (document.mozCancelFullScreen) {
102				document.mozCancelFullScreen();
103			}
104			else if (document.webkitExitFullscreen) {
105				document.webkitExitFullscreen();
106			}
107		};
108		// https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode
109		FullScreen.prototype.fullScreen = function () {
110			var _this = this;
111			this.$LG(document).on("fullscreenchange.lg.global" + this.core.lgId + " \n            webkitfullscreenchange.lg.global" + this.core.lgId + " \n            mozfullscreenchange.lg.global" + this.core.lgId + " \n            MSFullscreenChange.lg.global" + this.core.lgId, function () {
112				if (!_this.core.lgOpened)
113					return;
114				_this.core.outer.toggleClass('lg-fullscreen-on');
115			});
116			this.core.outer
117				.find('.lg-fullscreen')
118				.first()
119				.on('click.lg', function () {
120				if (_this.isFullScreen()) {
121					_this.exitFullscreen();
122				}
123				else {
124					_this.requestFullscreen();
125				}
126			});
127		};
128		FullScreen.prototype.closeGallery = function () {
129			// exit from fullscreen if activated
130			if (this.isFullScreen()) {
131				this.exitFullscreen();
132			}
133		};
134		FullScreen.prototype.destroy = function () {
135			this.$LG(document).off("fullscreenchange.lg.global" + this.core.lgId + " \n            webkitfullscreenchange.lg.global" + this.core.lgId + " \n            mozfullscreenchange.lg.global" + this.core.lgId + " \n            MSFullscreenChange.lg.global" + this.core.lgId);
136		};
137		return FullScreen;
138	}());
139
140	return FullScreen;
141
142})));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.