Вход Регистрация
Файл: modules/video1/unitegallery/themes/tiles/ug-theme-tiles.js
Строк: 209
<?php
if(typeof g_ugFunctions != "undefined")
    
g_ugFunctions.registerTheme("tiles");
else 
    
jQuery(document).ready(function(){g_ugFunctions.registerTheme("tiles")});


/**
 * Grid gallery theme
 */
function UGTheme_tiles(){

    var 
this;
    var 
g_gallery = new UniteGalleryMain(), g_objGalleryg_objectsg_objWrapper
    var 
g_tiles = new UGTiles(), g_lightbox = new UGLightbox(), g_objPreloaderg_objTilesWrapper;
    var 
g_functions = new UGFunctions(), g_objTileDesign = new UGTileDesign();
    
    var 
g_options = {
            
theme_enable_preloadertrue,        //enable preloader circle
            
theme_preloading_height200,        //the height of the preloading div, it show before the gallery
            
theme_preloader_vertpos100,        //the vertical position of the preloader
            
theme_gallery_padding0,            //the horizontal padding of the gallery from the sides
            
theme_appearance_order"normal",    //normal, shuffle, keep - the appearance order of the tiles. applying only to columns type
            
theme_auto_open:null                //auto open lightbox at start
    
};
    
    var 
g_defaults = {
            
gallery_width"100%"
    
};
    
    
//temp variables
    
var g_temp = {
            
showPreloaderfalse
    
};
    
    
    
/**
     * Init the theme
     */
    
function initTheme(gallerycustomOptions){
        
        
g_gallery gallery;
        
        
//set default options
        
g_options jQuery.extend(g_optionsg_defaults);
        
        
//set custom options
        
g_options jQuery.extend(g_optionscustomOptions);
        
        
modifyOptions();
        
        
//set gallery options
        
g_gallery.setOptions(g_options);
        
        
g_gallery.setFreestyleMode();
        
        
g_objects gallery.getObjects();
        
        
//get some objects for local use
        
g_objGallery jQuery(gallery);        
        
g_objWrapper g_objects.g_objWrapper;
        
        
//init objects
        
g_tiles.init(galleryg_options);
        
g_lightbox.init(galleryg_options);
        
        
g_objTileDesign g_tiles.getObjTileDesign();
        
    }
    
    
    
/**
     * modift options
     */
    
function modifyOptions(){
        
        if(
g_options.theme_enable_preloader == true)
            
g_temp.showPreloader true;
        
        switch(
g_options.theme_appearance_order){
            default:
            case 
"normal":
            break;
            case 
"shuffle":
                
g_gallery.shuffleItems();
            break;
            case 
"keep":
                
g_options.tiles_keep_order true;
            break;
        }
        
    }

    
    
/**
     * set gallery html elements
     */
    
function setHtml(){
        
        
//add html elements
        
g_objWrapper.addClass("ug-theme-tiles");
        
        
g_objWrapper.append("<div class='ug-tiles-wrapper' style='position:relative'></div>");
        
        
//add preloader
        
if(g_temp.showPreloader == true){
            
g_objWrapper.append("<div class='ug-tiles-preloader ug-preloader-trans'></div>");
            
g_objPreloader g_objWrapper.children(".ug-tiles-preloader");
            
g_objPreloader.fadeTo(0,0);
        }
        
        
g_objTilesWrapper g_objWrapper.children(".ug-tiles-wrapper");
        
        
//set padding
        
if(g_options.theme_gallery_padding)
            
g_objWrapper.css({
                
"padding-left":g_options.theme_gallery_padding+"px",
                
"padding-right":g_options.theme_gallery_padding+"px"
            
});
        
        
g_tiles.setHtml(g_objTilesWrapper);
        
g_lightbox.putHtml();
    }
    
    
/**
     * actually run the theme
     */
    
function actualRun(){
        
        
//set preloader mode
        
if(g_objPreloader){
            
g_objPreloader.fadeTo(0,1);
            
g_objWrapper.height(g_options.theme_preloading_height);
            
g_functions.placeElement(g_objPreloader"center"g_options.theme_preloader_vertpos);
        }
        
        
initEvents();
        
        
g_tiles.run();
        
g_lightbox.run();
        
    }

    
    
/**
     * run the theme
     */
    
function runTheme(){
        
        
setHtml();
        
        
actualRun();
        
    }
    
    
    
    
/**
     * init size of the thumbs panel
     */
    
function initThumbsPanel(){
        
        
//set size:
        
var objGallerySize g_gallery.getSize();
            
        if(
g_temp.isVertical == false)            
            
g_objPanel.setWidth(objGallerySize.width);
        else
            
g_objPanel.setHeight(objGallerySize.height);
        
        
g_objPanel.run();
    }
    
    
    
/**
     * on tile click - open lightbox
     */
    
function onTileClick(dataobjTile){
        
        
objTile jQuery(objTile);        
        
        var 
objItem g_objTileDesign.getItemByTile(objTile);
        var 
index objItem.index;        
        
        
g_lightbox.open(index);
    }
    
    
    
/**
     * before items request: hide items, show preloader
     */
    
function onBeforeReqestItems(){
                
        
g_objTilesWrapper.hide();
        
        if(
g_objPreloader){
            
g_objPreloader.show();
        
            var 
preloaderSize g_functions.getElementSize(g_objPreloader);
            var 
galleryHeight preloaderSize.bottom 30;
            
            
g_objWrapper.height(galleryHeight);
        }
        
    }

    
/**
     * open lightbox at start if needed
     */
    
function onLightboxInit(){

        if(
g_options.theme_auto_open !== null){
            
g_lightbox.open(g_options.theme_auto_open);
            
g_options.theme_auto_open null;
        }
        
    }
    
    
    
/**
     * init buttons functionality and events
     */
    
function initEvents(){
        
        
//remove preloader on tiles first placed
        
if(g_objPreloader){
            
jQuery(g_tiles).on(g_tiles.events.TILES_FIRST_PLACED, function(){
                
g_objWrapper.height("auto");
                
g_objPreloader.hide();
            });            
        }
        
        
jQuery(g_objTileDesign).on(g_objTileDesign.events.TILE_CLICKonTileClick);
        
        
g_objGallery.on(g_gallery.events.GALLERY_BEFORE_REQUEST_ITEMSonBeforeReqestItems);

        
jQuery(g_lightbox).on(g_lightbox.events.LIGHTBOX_INITonLightboxInit);

    }
    
    
    
/**
     * destroy the theme
     */
    
this.destroy = function(){
                
        
jQuery(g_objTileDesign).off(g_objTileDesign.events.TILE_CLICK);
        
jQuery(g_tiles).off(g_tiles.events.TILES_FIRST_PLACED);
        
        
g_objGallery.off(g_gallery.events.GALLERY_BEFORE_REQUEST_ITEMS);

        
jQuery(g_lightbox).off(g_lightbox.events.LIGHTBOX_INIT);
        
        
g_tiles.destroy();
        
g_lightbox.destroy();
    }
    
    
    
/**
     * run the theme setting
     */
    
this.run = function(){
        
        
runTheme();
    }
    
    
    
/**
     * init 
     */
    
this.init = function(gallerycustomOptions){
                
        
initTheme(gallerycustomOptions);
        
    }
    
    
}
?>
Онлайн: 1
Реклама