HOME


Mini Shell 1.0
DIR: /home/islapiiu/sites/faithlinkint/control-panel/plugins/light-gallery/js/
Upload File :
Current File : /home/islapiiu/sites/faithlinkint/control-panel/plugins/light-gallery/js/lg-fullscreen.js
/*! lightgallery - v1.2.21 - 2016-06-28
 
 * http://sachinchoolur.github.io/lightGallery/
 
 * Copyright (c) 2016 Sachin N; Licensed Apache 2.0 */

(function ($, window, document, undefined) {



    'use strict';



    var defaults = {

        fullScreen: true

    };



    var Fullscreen = function (element) {



        // get lightGallery core plugin data

        this.core = $(element).data('lightGallery');



        this.$el = $(element);



        // extend module defalut settings with lightGallery core settings

        this.core.s = $.extend({}, defaults, this.core.s);



        this.init();



        return this;

    };



    Fullscreen.prototype.init = function () {

        var fullScreen = '';

        if (this.core.s.fullScreen) {



            // check for fullscreen browser support

            if (!document.fullscreenEnabled && !document.webkitFullscreenEnabled &&
                    !document.mozFullScreenEnabled && !document.msFullscreenEnabled) {

                return;

            } else {

                fullScreen = '<span class="lg-fullscreen lg-icon"></span>';

                this.core.$outer.find('.lg-toolbar').append(fullScreen);

                this.fullScreen();

            }

        }

    };



    Fullscreen.prototype.requestFullscreen = function () {

        var el = document.documentElement;

        if (el.requestFullscreen) {

            el.requestFullscreen();

        } else if (el.msRequestFullscreen) {

            el.msRequestFullscreen();

        } else if (el.mozRequestFullScreen) {

            el.mozRequestFullScreen();

        } else if (el.webkitRequestFullscreen) {

            el.webkitRequestFullscreen();

        }

    };



    Fullscreen.prototype.exitFullscreen = function () {

        if (document.exitFullscreen) {

            document.exitFullscreen();

        } else if (document.msExitFullscreen) {

            document.msExitFullscreen();

        } else if (document.mozCancelFullScreen) {

            document.mozCancelFullScreen();

        } else if (document.webkitExitFullscreen) {

            document.webkitExitFullscreen();

        }

    };



    // https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode

    Fullscreen.prototype.fullScreen = function () {

        var _this = this;



        $(document).on('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg', function () {

            _this.core.$outer.toggleClass('lg-fullscreen-on');

        });



        this.core.$outer.find('.lg-fullscreen').on('click.lg', function () {

            if (!document.fullscreenElement &&
                    !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) {

                _this.requestFullscreen();

            } else {

                _this.exitFullscreen();

            }

        });



    };



    Fullscreen.prototype.destroy = function () {



        // exit from fullscreen if activated

        this.exitFullscreen();



        $(document).off('fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg');

    };



    $.fn.lightGallery.modules.fullscreen = Fullscreen;



})(jQuery, window, document);