| Server IP : 103.234.187.230 / Your IP : 216.73.216.216 Web Server : Apache System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/tripsgateway/public/unitegallery/js/ |
Upload File : |
/** -------------- Panel Base Functions ---------------------*/
function UGPanelsBase(){
var g_temp, g_panel, g_objPanel, g_options, g_objThis;
var g_gallery = new UniteGalleryMain();
var t = this, g_objHandle, g_objGallery;
var g_functions = new UGFunctions();
/**
* init the base panel
*/
this.init = function(gallery, g_tempArg, g_panelArg, options, g_objThisArg){
g_temp = g_tempArg;
g_panel = g_panelArg;
g_gallery = gallery;
g_options = options;
g_objThis = g_objThisArg;
g_objGallery = jQuery(g_gallery);
}
/**
* set common panels html
*/
this.setHtml = function(g_objPanelArg){
g_objPanel = g_objPanelArg;
if(g_temp.panelType == "strip")
var enable_handle = g_options.strippanel_enable_handle;
else
var enable_handle = g_options.gridpanel_enable_handle;
// add handle
if (enable_handle == true) {
g_objHandle = new UGPanelHandle();
g_objHandle.init(g_panel, g_objPanel, g_options, g_temp.panelType, g_gallery);
g_objHandle.setHtml();
}
//set disabled at start if exists
if(g_temp.isDisabledAtStart === true){
var html = "<div class='ug-overlay-disabled'></div>";
g_objPanel.append(html);
setTimeout(function(){
g_objPanel.children(".ug-overlay-disabled").hide();
}, g_temp.disabledAtStartTimeout);
}
}
/**
* place common elements
*/
this.placeElements = function(){
// place handle
if (g_objHandle)
g_objHandle.placeHandle();
}
/**
* init common events
*/
this.initEvents = function(){
// set handle events
if (g_objHandle){
g_objHandle.initEvents();
//set on slider action events
g_objGallery.on(g_gallery.events.SLIDER_ACTION_START, function(){
g_objHandle.hideHandle();
});
g_objGallery.on(g_gallery.events.SLIDER_ACTION_END, function(){
g_objHandle.showHandle();
});
}
}
/**
* destroy the panel events
*/
this.destroy = function(){
if(g_objHandle){
g_objHandle.destroy();
g_objGallery.off(g_gallery.events.SLIDER_ACTION_START);
g_objGallery.off(g_gallery.events.SLIDER_ACTION_END);
}
}
/**
* place panel with some animation
*/
function placePanelAnimation(panelDest, functionOnComplete) {
switch (g_temp.orientation) {
case "right": // vertical
case "left":
var objCss = {
left : panelDest + "px"
};
break;
case "top":
case "bottom":
var objCss = {
top : panelDest + "px"
};
break;
}
g_objPanel.stop(true).animate(objCss, {
duration : 300,
easing : "easeInOutQuad",
queue : false,
complete : function() {
if (functionOnComplete)
functionOnComplete();
}
});
}
/**
* place the panel without animation
*
* @param panelDest
*/
function placePanelNoAnimation(panelDest) {
switch (g_temp.orientation) {
case "right": // vertical
case "left":
g_functions.placeElement(g_objPanel, panelDest, null);
break;
case "top":
case "bottom":
g_functions.placeElement(g_objPanel, null, panelDest);
break;
}
}
/**
* event on panel slide finish
*/
function onPanelSlideFinish() {
g_objThis.trigger(g_panel.events.FINISH_MOVE);
}
/**
* open the panel
*/
this.openPanel = function(noAnimation) {
if (!noAnimation)
var noAnimation = false;
if (g_objPanel.is(":animated"))
return (false);
if (g_temp.isClosed == false)
return (false);
g_temp.isClosed = false;
g_objThis.trigger(g_panel.events.OPEN_PANEL);
if (noAnimation === false)
placePanelAnimation(g_temp.originalPos, onPanelSlideFinish);
else {
placePanelNoAnimation(g_temp.originalPos);
onPanelSlideFinish();
}
}
/**
* close the panel (slide in)
*/
this.closePanel = function(noAnimation) {
if (!noAnimation)
var noAnimation = false;
if (g_objPanel.is(":animated"))
return (false);
if (g_temp.isClosed == true)
return (false);
var panelDest = t.getClosedPanelDest();
g_temp.isClosed = true;
g_objThis.trigger(g_panel.events.CLOSE_PANEL);
if (noAnimation === false)
placePanelAnimation(panelDest, onPanelSlideFinish);
else {
placePanelNoAnimation(panelDest);
onPanelSlideFinish();
}
}
/**
* set the panel that it's in closed state, and set original pos for opening
* later
*/
this.setClosedState = function(originalPos) {
g_temp.originalPos = originalPos;
g_objThis.trigger(g_panel.events.CLOSE_PANEL);
g_temp.isClosed = true;
}
/**
* set the panel opened state
*/
this.setOpenedState = function(originalPos) {
g_objThis.trigger(g_panel.events.OPEN_PANEL);
g_temp.isClosed = false;
}
/**
* get closed panel destanation
*/
this.getClosedPanelDest = function() {
var objPanelSize = g_functions.getElementSize(g_objPanel), panelDest;
switch (g_temp.orientation) {
case "left":
g_temp.originalPos = objPanelSize.left;
panelDest = -g_temp.panelWidth;
break;
case "right":
g_temp.originalPos = objPanelSize.left;
var gallerySize = g_gallery.getSize();
panelDest = gallerySize.width;
break;
case "top":
g_temp.originalPos = objPanelSize.top;
panelDest = -g_temp.panelHeight;
break;
case "bottom":
g_temp.originalPos = objPanelSize.top;
var gallerySize = g_gallery.getSize();
panelDest = gallerySize.height;
break;
}
return (panelDest);
}
/**
* tells if the panel is closed
*/
this.isPanelClosed = function() {
return (g_temp.isClosed);
}
/**
* set the panel disabled at start, called after init before setHtml
* it's enabled again after timeout end
*/
this.setDisabledAtStart = function(timeout){
if(timeout <= 0)
return(false);
g_temp.isDisabledAtStart = true;
g_temp.disabledAtStartTimeout = timeout;
}
}
/** -------------- Panel Handle object ---------------------*/
function UGPanelHandle(){
var t = this, g_objPanel, g_panel, g_objHandleTip, g_panelOptions = {};
var g_functions = new UGFunctions();
var g_options = {
panel_handle_align: "top", //top, middle, bottom , left, right, center - close handle tip align on the handle bar according panel orientation
panel_handle_offset: 0, //offset of handle bar according the valign
panel_handle_skin: 0 //skin of the handle, if empty inherit from gallery skin
};
/**
* init the handle
*/
this.init = function(panel, objPanel, panelOptions, panelType, gallery){
g_panel = panel;
g_objPanel = objPanel;
//set needed options
switch(panelType){
case "grid":
g_options.panel_handle_align = panelOptions.gridpanel_handle_align;
g_options.panel_handle_offset = panelOptions.gridpanel_handle_offset;
g_options.panel_handle_skin = panelOptions.gridpanel_handle_skin;
break;
case "strip":
g_options.panel_handle_align = panelOptions.strippanel_handle_align;
g_options.panel_handle_offset = panelOptions.strippanel_handle_offset;
g_options.panel_handle_skin = panelOptions.strippanel_handle_skin;
break;
default:
throw new Error("Panel handle error: wrong panel type: " + panelType);
break;
}
//set arrows skin:
var galleryOptions = gallery.getOptions();
var globalSkin = galleryOptions.gallery_skin;
if(g_options.panel_handle_skin == "")
g_options.panel_handle_skin = globalSkin;
}
/**
* set handle html
*/
this.setHtml = function(){
var orientation = g_panel.getOrientation();
var classTip = "ug-panel-handle-tip";
switch(orientation){
case "right":
classTip += " ug-handle-tip-left";
break;
case "left":
classTip += " ug-handle-tip-right";
break;
case "bottom":
classTip += " ug-handle-tip-top";
break;
case "top":
classTip += " ug-handle-tip-bottom";
break;
}
g_objPanel.append("<div class='"+classTip+" ug-skin-" + g_options.panel_handle_skin + "'></div>");
g_objHandleTip = g_objPanel.children(".ug-panel-handle-tip");
}
/**
* remove hover state of the tip
*/
function removeHoverState(){
g_objHandleTip.removeClass("ug-button-hover");
}
/**
* add closed state class
*/
function setClosedState(){
g_objHandleTip.addClass("ug-button-closed");
}
/**
* add closed state class
*/
function removeClosedState(){
g_objHandleTip.removeClass("ug-button-closed");
}
/**
* on handle click, close or open panel
*/
function onHandleClick(event){
event.stopPropagation();
event.stopImmediatePropagation();
if(g_functions.validateClickTouchstartEvent(event.type) == false)
return(true);
if(g_panel.isPanelClosed())
g_panel.openPanel();
else
g_panel.closePanel();
}
/**
* init events
*/
this.initEvents = function(){
g_functions.addClassOnHover(g_objHandleTip);
g_objHandleTip.bind("click touchstart", onHandleClick);
//on panel open
jQuery(g_panel).on(g_panel.events.OPEN_PANEL, function(){
removeHoverState();
removeClosedState();
});
//one panel close
jQuery(g_panel).on(g_panel.events.CLOSE_PANEL, function(){
removeHoverState();
setClosedState();
});
}
/**
* destroy the handle panel events
*/
this.destroy = function(){
g_functions.destroyButton(g_objHandleTip);
jQuery(g_panel).off(g_panel.events.OPEN_PANEL);
jQuery(g_panel).off(g_panel.events.CLOSE_PANEL);
}
/**
* check and fix align option, set write direction
*/
function checkAndFixAlign(){
var orientation = g_panel.getOrientation();
switch(orientation){
case "right":
case "left":
if(g_options.panel_handle_align != "top" && g_options.panel_handle_align != "bottom")
g_options.panel_handle_align = "top";
break;
case "bottom":
if(g_options.panel_handle_align != "left" && g_options.panel_handle_align != "right")
g_options.panel_handle_align = "left";
break;
case "top":
if(g_options.panel_handle_align != "left" && g_options.panel_handle_align != "right")
g_options.panel_handle_align = "right";
break;
}
}
/**
* place the panel
*/
this.placeHandle = function(){
var handleSize = g_functions.getElementSize(g_objHandleTip);
checkAndFixAlign();
var orientation = g_panel.getOrientation();
switch(orientation){
case "left":
g_functions.placeElement(g_objHandleTip, "right", g_options.panel_handle_align, -handleSize.width);
break;
case "right":
g_functions.placeElement(g_objHandleTip, -handleSize.width, g_options.panel_handle_align, 0 ,g_options.panel_handle_offset);
break;
case "top":
g_functions.placeElement(g_objHandleTip, g_options.panel_handle_align, "bottom", g_options.panel_handle_offset, -handleSize.height);
break;
case "bottom":
g_functions.placeElement(g_objHandleTip, g_options.panel_handle_align, "top", g_options.panel_handle_offset, -handleSize.height);
break;
default:
throw new Error("Wrong panel orientation: " + orientation);
break;
}
}
/**
* hide the handle
*/
this.hideHandle = function(){
if(g_objHandleTip.is(":visible") == true)
g_objHandleTip.hide();
}
/**
* show the handle
*/
this.showHandle = function(){
if(g_objHandleTip.is(":visible") == false)
g_objHandleTip.show();
}
}