| 1 |
(function ($, undefined) { |
| 2 |
'use strict'; |
| 3 |
/************************************************************************************************************************************************************************* |
| 4 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 5 |
Isset |
| 6 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 7 |
**************************************************************************************************************************************************************************/ |
| 8 |
|
| 9 |
function isset(variable){ |
| 10 |
return variable !== "undefined" && variable !== "0" && variable !== null && variable !== ''; |
| 11 |
} |
| 12 |
|
| 13 |
function empty(variable){ |
| 14 |
if(variable === "undefined" && variable === null && variable === ''){ |
| 15 |
return ''; |
| 16 |
}else{ |
| 17 |
return variable; |
| 18 |
} |
| 19 |
} |
| 20 |
/************************************************************************************************************************************************************************* |
| 21 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 22 |
Layer Json |
| 23 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 24 |
**************************************************************************************************************************************************************************/ |
| 25 |
$.fn.vs_layer_json = function() { |
| 26 |
var layer_key = {}; |
| 27 |
$('.vs_module_layer_item').each(function() { |
| 28 |
var key = $(this).attr('data-key'); |
| 29 |
var id = $(this).attr('data-id'); |
| 30 |
var option = $(this).find('#vs_layer_options').vs_serializeFormToObject(); |
| 31 |
|
| 32 |
layer_key[key] = {'id' : id,'option':option }; |
| 33 |
}); |
| 34 |
|
| 35 |
return layer_key; |
| 36 |
|
| 37 |
}; |
| 38 |
|
| 39 |
/************************************************************************************************************************************************************************* |
| 40 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 41 |
sortable layer |
| 42 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 43 |
**************************************************************************************************************************************************************************/ |
| 44 |
$.fn.vs_sortable_layer = function() { |
| 45 |
$('.vs_module_layer_list').sortable({ |
| 46 |
handle: ".vs_module_layer_title", |
| 47 |
opacity: 0.6, |
| 48 |
update: function() { |
| 49 |
$('body').vs_reload_layer(); |
| 50 |
} |
| 51 |
|
| 52 |
}); |
| 53 |
}; |
| 54 |
|
| 55 |
/************************************************************************************************************************************************************************* |
| 56 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 57 |
reload layer |
| 58 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 59 |
**************************************************************************************************************************************************************************/ |
| 60 |
|
| 61 |
$.fn.vs_reload_layer = function() { |
| 62 |
|
| 63 |
$('.vs_perview_slide_content').addClass('vs-loading'); |
| 64 |
|
| 65 |
var data_layer = $('body').vs_layer_json(); |
| 66 |
|
| 67 |
setTimeout(function(){ |
| 68 |
|
| 69 |
$.ajax({ |
| 70 |
type: 'POST', |
| 71 |
url: visualslider.ajaxurl, |
| 72 |
data : { |
| 73 |
action : 'vs_perview_layer', |
| 74 |
layer_json : JSON.stringify(data_layer), |
| 75 |
post_id : visualslider.post_id, |
| 76 |
_wpnonce : visualslider.nonce, |
| 77 |
|
| 78 |
}, |
| 79 |
success:function(data) { |
| 80 |
if(data.length){ |
| 81 |
$('.vs_perview_slide_content .vs-perview-slide .vs-layer-warp').remove(); |
| 82 |
$('.vs-perview-slide').append(data); |
| 83 |
|
| 84 |
$('.vs_perview_slide_content').removeClass('vs-loading'); |
| 85 |
$('body').find('.vs_module_layer_item').each(function() { |
| 86 |
$(this).vs_layer_options_perview(); |
| 87 |
}); |
| 88 |
$('body').vs_sortable_layer(); |
| 89 |
$('body').vs_draggable(); |
| 90 |
$('body').vs_coloris(); |
| 91 |
$('body').vs_fold_item(); |
| 92 |
|
| 93 |
} else{ |
| 94 |
$('body').vs_remove_add_error_loading(); |
| 95 |
} |
| 96 |
} |
| 97 |
}); |
| 98 |
}, 10); |
| 99 |
|
| 100 |
}; |
| 101 |
|
| 102 |
/************************************************************************************************************************************************************************* |
| 103 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 104 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 105 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 106 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 107 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 108 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 109 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 110 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 111 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 112 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 113 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 114 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 115 |
|
| 116 |
document Ready |
| 117 |
|
| 118 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 119 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 120 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 121 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 122 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 123 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 124 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 125 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 126 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 127 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 128 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 129 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 130 |
**************************************************************************************************************************************************************************/ |
| 131 |
jQuery(document).ready(function() { |
| 132 |
/************************************************************************************************************************************************************************* |
| 133 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 134 |
Module Layer |
| 135 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 136 |
**************************************************************************************************************************************************************************/ |
| 137 |
/* Section Options Update*/ |
| 138 |
|
| 139 |
$(document).on('click', '.vs_module_layer_add', function(e) { |
| 140 |
$('.vs_add_layer').addClass('vs_add_layer_active'); }); |
| 141 |
|
| 142 |
$(document).on('click', '.vs_add_layer_cancel', function(e) { |
| 143 |
$('.vs_add_layer').removeClass('vs_add_layer_active'); |
| 144 |
|
| 145 |
}); |
| 146 |
|
| 147 |
$(document).on("click",".vs_add_layer_item", function() { |
| 148 |
$(this).parents('.vs_add_layer_content').find('.selected').removeClass('selected'); |
| 149 |
$(this).addClass('selected'); |
| 150 |
}); |
| 151 |
|
| 152 |
/************************************************************************************************************************************************************************* |
| 153 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 154 |
Add Layer |
| 155 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 156 |
**************************************************************************************************************************************************************************/ |
| 157 |
$(document).on('click', '.vs_add_layer_add', function() { |
| 158 |
|
| 159 |
$('body').append('<div class="vs-mouse-wait"></div>'); |
| 160 |
var data_key = 'r'+Math.floor(Math.random() * 9999999999); |
| 161 |
var data_id = $('.vs_add_layer').find('.selected').attr('data-layer'); |
| 162 |
|
| 163 |
var data_tablet= $('.vs_live_setting_responsive_tablet').find('input:checked').val(); |
| 164 |
var data_mobile= $('.vs_live_setting_responsive_mobile').find('input:checked').val(); |
| 165 |
|
| 166 |
$.ajax({ |
| 167 |
type: 'POST', |
| 168 |
url: visualslider.ajaxurl, |
| 169 |
data : { |
| 170 |
action : 'vs_module_layer_item', |
| 171 |
layer_key : data_key, |
| 172 |
layer_id : data_id, |
| 173 |
default : '1', |
| 174 |
vs_tablet : empty(data_tablet), |
| 175 |
vs_mobile : empty(data_mobile), |
| 176 |
post_id : visualslider.post_id, |
| 177 |
_wpnonce : visualslider.nonce, |
| 178 |
|
| 179 |
}, |
| 180 |
success:function(data) { |
| 181 |
if(data.length){ |
| 182 |
$('.vs_module_layer_list').append(data); |
| 183 |
$('.vs-mouse-wait').remove(); |
| 184 |
$('.vs_add_layer').removeClass('vs_add_layer_active'); |
| 185 |
$('body').vs_reload_layer(); |
| 186 |
|
| 187 |
} else{ |
| 188 |
$('body').vs_remove_add_error_loading(); |
| 189 |
} |
| 190 |
} |
| 191 |
}); |
| 192 |
}); |
| 193 |
|
| 194 |
/************************************************************************************************************************************************************************* |
| 195 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 196 |
Layer duplicate |
| 197 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 198 |
**************************************************************************************************************************************************************************/ |
| 199 |
function vs_duplicate(row,key,adress) { |
| 200 |
$(adress).attr('data-key',key).attr('id',"vs_"+row+"_"+ key); |
| 201 |
} |
| 202 |
jQuery(document).on("click",".vs_module_layer_duplicate",function(){ |
| 203 |
|
| 204 |
var duplicate = $(this).parents(".vs_module_layer_item").addClass('vs_duplicate').clone(); |
| 205 |
$(this).parents('.vs_duplicate').removeClass('vs_duplicate'); |
| 206 |
$(this).parents(".vs_module_layer_item ").after(duplicate); |
| 207 |
var layer_key = 'r'+Math.floor(Math.random() * 9999999999); |
| 208 |
vs_duplicate('module_layer',layer_key,'.vs_duplicate'); |
| 209 |
$('.vs_duplicate').removeClass('vs_duplicate'); |
| 210 |
|
| 211 |
$('body').vs_reload_layer(); |
| 212 |
|
| 213 |
}); |
| 214 |
|
| 215 |
/************************************************************************************************************************************************************************* |
| 216 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 217 |
Layer Active |
| 218 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 219 |
**************************************************************************************************************************************************************************/ |
| 220 |
|
| 221 |
$(document).on('click', '.vs_module_layer_title ', function() { |
| 222 |
|
| 223 |
$(this).parents('.vs_panel').find('.vs_module_side_options_active,.vs_module_slide_options_active').removeClass('vs_module_side_options_active vs_module_slide_options_active'); |
| 224 |
$(this).parents('.vs_module_layer_item').addClass('vs_module_side_options_active'); |
| 225 |
$(this).parents('.vs_panel').addClass('vs_panel_options_active'); |
| 226 |
|
| 227 |
$(this).parents('.vs_panel').find('.vs_draggable_active').removeClass('vs_draggable_active'); |
| 228 |
var data_key = $(this).parents('.vs_module_layer_item').attr('data-key'); |
| 229 |
$('#vs_perview_layer_'+data_key).addClass('vs_draggable_active'); |
| 230 |
$('.vs_module_side_options_active').vs_fold_item(); |
| 231 |
|
| 232 |
|
| 233 |
|
| 234 |
|
| 235 |
}); |
| 236 |
|
| 237 |
/************************************************************************************************************************************************************************* |
| 238 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 239 |
Layer Close |
| 240 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 241 |
**************************************************************************************************************************************************************************/ |
| 242 |
$(document).on('click', '.vs_module_side_options_close', function() { |
| 243 |
$(this).parents('.vs_panel').find('.vs_module_side_options_active,.vs_module_slide_options_active').removeClass('vs_module_side_options_active vs_module_slide_options_active'); |
| 244 |
$(this).parents('.vs_panel_options_active').removeClass('vs_panel_options_active'); |
| 245 |
}); |
| 246 |
$(document).on('click', '.vs_perview_slide .vs-slide-cover', function(e) { |
| 247 |
$('.vs_draggable_active').removeClass('vs_draggable_active'); |
| 248 |
$('.vs_module_side_options_active').removeClass('vs_module_side_options_active'); |
| 249 |
$('.vs_panel_options_active').removeClass('vs_panel_options_active'); |
| 250 |
|
| 251 |
}); |
| 252 |
/************************************************************************************************************************************************************************* |
| 253 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 254 |
Layer Remove |
| 255 |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 256 |
**************************************************************************************************************************************************************************/ |
| 257 |
|
| 258 |
|
| 259 |
$(document).on('click', '.vs_module_layer_remove', function() { |
| 260 |
$(this).parents('.vs_module_layer_item').remove(); |
| 261 |
var key =$(this).parents('.vs_module_layer_item').attr('data-key'); |
| 262 |
$('.vs_module_side_options_active').removeClass('vs_module_side_options_active'); |
| 263 |
$('.vs_panel_options_active').removeClass('vs_panel_options_active'); |
| 264 |
|
| 265 |
$('#vs_perview_layer_'+key).remove(); |
| 266 |
|
| 267 |
}); |
| 268 |
|
| 269 |
function vs_align_change(type,position) { |
| 270 |
$(document).on('click', ".vs_live_layer_"+type+"align_"+position+" label", function(e) { |
| 271 |
var val = $(this).find('input').val(); |
| 272 |
if(isset(val)){ |
| 273 |
$(this).parents('.vs_side_options_content').find( ".vs_live_layer_"+type+"position_"+position+" input" ).text('0').val('0'); |
| 274 |
}else{ |
| 275 |
$(this).parents('.vs_side_options_content').find( ".vs_live_layer_"+type+"position_"+position+" input" ).text('').val(''); |
| 276 |
} |
| 277 |
$(this).parents('.vs_side_options_content').vs_layer_postion_size(); |
| 278 |
|
| 279 |
}); |
| 280 |
} |
| 281 |
vs_align_change('','horizontal'); |
| 282 |
vs_align_change('','vertical'); |
| 283 |
vs_align_change('tablet_','horizontal'); |
| 284 |
vs_align_change('tablet_','vertical'); |
| 285 |
vs_align_change('mobile_','horizontal'); |
| 286 |
vs_align_change('mobile_','vertical'); |
| 287 |
|
| 288 |
$(document).on('click','.vs_panel_title',function() { |
| 289 |
$('body').vs_layer_json(); |
| 290 |
}); |
| 291 |
|
| 292 |
|
| 293 |
|
| 294 |
|
| 295 |
|
| 296 |
|
| 297 |
}); |
| 298 |
|
| 299 |
|
| 300 |
})(jQuery); |
| 301 |
|
| 302 |
|