wp_blog/wp-content/themes/worldwide-v1-01/include/javascript/page-dragging.js
2020-01-02 23:15:16 +07:00

350 lines
15 KiB
JavaScript

/**
* Goodlayers Page Dragging File
* ---------------------------------------------------------------------
* @version 1.0
* @author Goodlayers
* @link http://goodlayers.com
* @copyright Copyright (c) Goodlayers
* ---------------------------------------------------------------------
* This file contains the jQuery script for Page Dragging
* ---------------------------------------------------------------------
*/
jQuery(document).ready(function(){
// All of size that div can be (text, class, value)
var DIV_SIZE = [
['1/4','element1-4',1/4,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog']],
['1/3','element1-3',1/3,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog']],
['1/2','element1-2',1/2,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog']],
['2/3','element2-3',2/3,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog']],
['3/4','element3-4',3/4,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog']],
['1/1','element1-1',1 ,['Column','Gallery','Content','Personnal','Page','Portfolio','Testimonial','Post-Slider','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Blog','Stunning-Text','Contact-Form']]
];
var page_item_list = jQuery("#page-element-lists");
var page_methodology = jQuery('#page-methodology');
var page_alignment_val = '';
//Bind sidebar template option
jQuery('input[name="page-option-sidebar-template"]').change(function(){
jQuery(this).parent().parent().find(".check-list").removeClass("check-list");
jQuery(this).siblings("label").children("#check-list").addClass("check-list");
if(jQuery(this).val() == "left-sidebar"){
jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideDown();
jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideUp();
}else if(jQuery(this).val() == "right-sidebar"){
jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideUp();
jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideDown();
}else if(jQuery(this).val() == "both-sidebar" || jQuery(this).val() == "both-sidebar-reverse"){
jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideDown();
jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideDown();
}else{
jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideUp();
jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideUp();
}
});
jQuery('input[name="page-option-sidebar-template"]:checked').triggerHandler("change");
// Change the style of <select>
if (!jQuery.browser.opera) {
jQuery('.meta-input .combobox select').each(function(){
var title = jQuery(this).attr('title');
if( jQuery('option:selected', this).val() != '' ) title = jQuery('option:selected',this).text();
jQuery(this)
.css({'z-index':10,'opacity':0,'-khtml-appearance':'none'})
.after('<span rel="combobox">' + title + '</span>')
.change(function(){
val = jQuery('option:selected',this).text();
jQuery(this).next().text(val);
})
});
};
//Bind the delete element button
var init_object = jQuery("div#gdl-overlay-wrapper");
init_object.find(".delete-element").click(function(){
var deleted_element = jQuery(this).parents('#page-element');
jQuery.confirm({
'message' : 'Are you sure to do this?',
'buttons' : {
'Delete' : {
'class' : 'confirm-yes',
'action': function(){
deleted_element.fadeOut( function(){jQuery(this).remove();} );
}
},
'Cancel' : {
'class' : 'confirm-no',
'action': function(){ return false; }
}
}
});
});
//Add Element Size
init_object.find(".add-element-size").click(function(){
jQuery(this).gdlPageAddElementSize();
});
jQuery.fn.gdlPageAddElementSize = function(){
var click_object = jQuery(this).parents('#page-element');
var object_type = click_object.attr('rel');
var is_upper_style = false;
var current_style = '';
for(var i=0; i<DIV_SIZE.length-1; i++){
if(click_object.hasClass(DIV_SIZE[i][1])){
is_upper_style = true;
current_style = DIV_SIZE[i][1];
}
if( is_upper_style && jQuery.inArray(object_type,DIV_SIZE[i+1][3]) > -1){
if( i < DIV_SIZE.length-2 ){
click_object.removeClass(current_style).addClass(DIV_SIZE[i+1][1]);
click_object.find("#element-size-text").html(DIV_SIZE[i+1][0]);
click_object.find("#page-option-item-size").val(DIV_SIZE[i+1][1])
}else if( i == DIV_SIZE.length-2){
click_object.removeClass(current_style).addClass(DIV_SIZE[i+1][1]);
click_object.find("#element-size-text").html(DIV_SIZE[i+1][0]);
click_object.find("#page-option-item-size").val(DIV_SIZE[i+1][1])
}
break;
}
}
}
//Subtract Element size
init_object.find(".sub-element-size").click(function(){
jQuery(this).gdlPageSubElementSize();
});
jQuery.fn.gdlPageSubElementSize = function(){
var click_object = jQuery(this).parents('#page-element');
var object_type = click_object.attr('rel');
var is_lower_style = false;
var current_style = '';
for(var i=DIV_SIZE.length-1; i > 0; i--){
if( click_object.hasClass(DIV_SIZE[i][1]) ){
is_lower_style = true;
current_style = DIV_SIZE[i][1];
}
if( is_lower_style && jQuery.inArray(object_type, DIV_SIZE[i-1][3]) > -1){
if( i > 1 ){
click_object.removeClass(current_style).addClass(DIV_SIZE[i-1][1]);
click_object.find("#element-size-text").html(DIV_SIZE[i-1][0]);
click_object.find("#page-option-item-size").val(DIV_SIZE[i-1][1])
}else if( i == 1){
click_object.removeClass(current_style).addClass(DIV_SIZE[i-1][1]);
click_object.find("#element-size-text").html(DIV_SIZE[i-1][0]);
click_object.find("#page-option-item-size").val(DIV_SIZE[i-1][1])
}
break;
}
}
}
//Bind Add Items
jQuery("input#page-add-item-button").click(function(){
var selectd_list = jQuery(this).siblings(".page-select-element-list-wrapper").children("select");
var clone_item = page_item_list.find('div[rel="' + selectd_list.val() + '"]').clone(true);
if( clone_item ){
clone_item.find("#page-option-item-size").attr('name',function(){
return jQuery(this).attr('id')+ '[]';
});
clone_item.find("#page-option-item-type").attr('name',function(){
return jQuery(this).attr('id')+ '[]';
});
clone_item.css("display","none");
page_methodology.find("#page-selected-elements").append(clone_item);
page_methodology.find(".page-element").fadeIn();
}
});
page_methodology.find("#page-selected-elements").sortable({ forcePlaceholderSize: true, placeholder: 'placeholder' });
// Button effects;
jQuery(".add-element-size").hover(function(){
jQuery(this).addClass("add-element-size-hover");
},function(){
jQuery(this).removeClass("add-element-size-hover");
});
jQuery(".sub-element-size").hover(function(){
jQuery(this).addClass("sub-element-size-hover");
},function(){
jQuery(this).removeClass("sub-element-size-hover");
});
// Tab chooser
jQuery('.page-item-tab').css('display','block');
jQuery(".page-tab-add-more").click(function(){
var added_tab = jQuery(this).siblings(".meta-input").children("#added-tab");
var clone_tab = added_tab.find(".default").clone(true);
clone_tab.attr('class','page-item-tab');
clone_tab.find('input, textarea, select').attr('name', function(){
return jQuery(this).attr('id') + '[]';
});
added_tab.siblings("#tab-num").val(function(){
return parseInt(jQuery(this).val()) + 1;
});
added_tab.children("ul").append(clone_tab);
added_tab.find('.page-item-tab').slideDown();
});
jQuery(".unpick-tab").click(function(){
var deleted_tab = jQuery(this);
jQuery.confirm({
'message' : 'Are you sure to do this?',
'buttons' : {
'Delete' : {
'class' : 'confirm-yes',
'action': function(){
deleted_tab.parents('#page-item-tab').slideUp(function(){
jQuery(this).remove();
});
deleted_tab.parents("#added-tab").siblings("#tab-num").val(function(){
return parseInt(jQuery(this).val()) - 1;
});
}
},
'Cancel' : {
'class' : 'confirm-no',
'action': function(){ return false; }
}
}
});
});
// Link type of slider
jQuery("select#page-option-item-slider-linktype, select#page-option-top-slider-linktype").change(function(){
var selected_val = jQuery(this).val();
if(selected_val == 'No Link' || selected_val == 'Lightbox'){
jQuery(this).parent().siblings('div').slideUp();
}else{
if(selected_val == 'Link to URL'){
jQuery(this).parent().siblings('div').not('[rel="video"]').slideDown();
jQuery(this).parent().siblings('div[rel="video"]').slideUp();
}else{
jQuery(this).parent().siblings('div').not('[rel="url"]').slideDown();
jQuery(this).parent().siblings('div[rel="url"]').slideUp();
}
}
});
jQuery('select#page-option-item-slider-linktype, select#page-option-top-slider-linktype').each(function(){
var selected_val = jQuery(this).val();
if(selected_val == 'No Link' || selected_val == 'Lightbox'){
jQuery(this).parent().siblings('div').css('display','none');
}else{
if(selected_val == 'Link to URL'){
jQuery(this).parent().siblings('div').not('[rel="video"]').css('display','block');
jQuery(this).parent().siblings('div[rel="video"]').css('display','none');
}else{
jQuery(this).parent().siblings('div').not('[rel="url"]').css('display','block');
jQuery(this).parent().siblings('div[rel="url"]').css('display','none');
}
}
});
// Upload Image
jQuery("input#upload_image_text_meta").change(function(){
jQuery(this).siblings("input[type='hidden']").val(jQuery(this).val());
});
jQuery('input:button.upload_image_button_meta').click(function() {
example_image = jQuery(this).siblings("#meta-input-example-image");
upload_text = jQuery(this).siblings("#upload_image_text_meta");
attachment_id = jQuery(this).siblings("#upload_image_attachment_id");
tb_show('Upload Media', 'media-upload.php?post_id=&type=image&amp;TB_iframe=true');
var oldSendToEditor = window.send_to_editor;
window.send_to_editor = function(html){
image_url = jQuery(html).attr('href');
thumb_url = jQuery('img',html).attr('src');
attid = jQuery(html).attr('attid');
upload_text.val(image_url);
attachment_id.val(attid);
example_image.html('<img src=' + thumb_url + ' />');
tb_remove();
window.send_to_editor = oldSendToEditor;
}
return false;
});
// Bind No Top Slider
jQuery('select#page-option-top-slider-types').change(function(){
if(jQuery(this).val()=='None' || jQuery(this).val()=='Title'){
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').slideUp();
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').slideUp();
}else if(jQuery(this).val()=='Post Slider'){
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').slideUp();
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').slideDown();
}else{
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').slideDown();
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').slideUp();
}
});
jQuery('select#page-option-top-slider-types').each(function(){
if(jQuery(this).val()=='None' || jQuery(this).val()=='Title'){
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').css('display','none');
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').css('display','none');
}else if(jQuery(this).val()=='Post Slider'){
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').css('display','none');
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').css('display','block');
}else{
jQuery(this).parents('.meta-body').siblings('#gdl-top-slider-wrapper').css('display','block');
jQuery(this).parents('.meta-body').siblings('#gdl-layer-slider-wrapper').css('display','none');
}
});
// Testimonial item size
jQuery('select#page-option-item-testimonial-display-type').change(function(){
if(jQuery(this).val()=='Carousel Testimonial'){
jQuery(this).parents('.meta-body').siblings('.testimonial-item-size-wrapper').slideUp();
}else{
jQuery(this).parents('.meta-body').siblings('.testimonial-item-size-wrapper').slideDown();
}
});
jQuery('select#page-option-item-testimonial-display-type').each(function(){
if(jQuery(this).val()=='Carousel Testimonial'){
jQuery(this).parents('.meta-body').siblings('.testimonial-item-size-wrapper').css('display','none');
}else{
jQuery(this).parents('.meta-body').siblings('.testimonial-item-size-wrapper').css('display','block');
}
});
// Portfolio Description
jQuery('select#page-option-item-portfolio-type').change(function(){
if(jQuery(this).val()!='Carousel Description Portfolio'){
jQuery(this).parents('.meta-body').siblings('.page-option-item-portfolio-first-column-description-wrapper').slideUp();
}else{
jQuery(this).parents('.meta-body').siblings('.page-option-item-portfolio-first-column-description-wrapper').slideDown();
}
});
jQuery('select#page-option-item-portfolio-type').each(function(){
if(jQuery(this).val()!='Carousel Description Portfolio'){
jQuery(this).parents('.meta-body').siblings('.page-option-item-portfolio-first-column-description-wrapper').css('display','none');
}else{
jQuery(this).parents('.meta-body').siblings('.page-option-item-portfolio-first-column-description-wrapper').css('display','block');
}
});
// blog widget type
jQuery('select#page-option-item-blog-size').change(function(){
if( jQuery(this).val() == '1/4 Blog Widget' || jQuery(this).val() == '1/3 Blog Widget' ||
jQuery(this).val() == '1/2 Blog Widget' || jQuery(this).val() == '1/1 Blog Widget' ){
jQuery(this).parents('.meta-body').siblings('.page-option-item-blog-type-wrapper').slideDown();
}else{
jQuery(this).parents('.meta-body').siblings('.page-option-item-blog-type-wrapper').slideUp();
}
});
jQuery('select#page-option-item-blog-size').each(function(){
if( jQuery(this).val() == '1/4 Blog Widget' || jQuery(this).val() == '1/3 Blog Widget' ||
jQuery(this).val() == '1/2 Blog Widget' || jQuery(this).val() == '1/1 Blog Widget' ){
jQuery(this).parents('.meta-body').siblings('.page-option-item-blog-type-wrapper').css('display','block');
}else{
jQuery(this).parents('.meta-body').siblings('.page-option-item-blog-type-wrapper').css('display','none');
}
});
});