176 lines
5.3 KiB
JavaScript
176 lines
5.3 KiB
JavaScript
window.VcSliderRevolution = vc.shortcode_view.extend({
|
|
initialize: function() {
|
|
return window.VcSliderRevolution.__super__.initialize.call(this);
|
|
},
|
|
render: function () {
|
|
rs_cur_vc_obj = this;
|
|
var params = this.model.get('params');
|
|
if(vc.add_element_block_view.$el.is(':visible')){ //hack to check if we just loaded the page or if we rendered it because of adding a new Slider element
|
|
rs_vc_show_overlay(params);
|
|
}
|
|
return window.VcSliderRevolution.__super__.render.call(this);
|
|
},
|
|
editElement: function() {
|
|
rs_cur_vc_obj = this;
|
|
var params = this.model.get('params');
|
|
|
|
rs_vc_show_overlay(params);
|
|
return false;
|
|
}
|
|
});
|
|
|
|
if(typeof(window.InlineShortcodeView) !== 'undefined'){
|
|
var rs_show_frontend_overlay = false;
|
|
|
|
jQuery(window).on('vc_build',function(){
|
|
vc.add_element_block_view.$el.find('[data-element="rev_slider"]').click(function(){ rs_show_frontend_overlay = true; });
|
|
});
|
|
|
|
window.InlineShortcodeView_rev_slider = window.InlineShortcodeView.extend({
|
|
render: function() {
|
|
rs_cur_vc_obj = this;
|
|
var params = this.model.get('params');
|
|
|
|
if(rs_show_frontend_overlay){
|
|
rs_vc_show_overlay(params);
|
|
}
|
|
|
|
window.InlineShortcodeView_rev_slider.__super__.render.call(this);
|
|
|
|
return this;
|
|
|
|
},
|
|
update: function(model) {
|
|
|
|
rs_show_frontend_overlay = false;
|
|
|
|
// same function as backend changedShortcodeParams
|
|
window.InlineShortcodeView_rev_slider.__super__.update.call(this,model);
|
|
|
|
return this;
|
|
},
|
|
edit: function( e ) {
|
|
|
|
rs_cur_vc_obj = this;
|
|
var params = this.model.get('params');
|
|
|
|
rs_vc_show_overlay(params);
|
|
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
|
|
function rs_vc_show_overlay(params){
|
|
|
|
if ( rs_cur_vc_obj !== false && rs_cur_vc_obj.model.get('cloned') === true){
|
|
//set cloned to false, so that the edit button will work. Then return as this is at the process where the element gets cloned
|
|
rs_cur_vc_obj.model.save('cloned', false);
|
|
|
|
return; //do not show edit if we cloned
|
|
}
|
|
|
|
revslider_tiny_reset_all();
|
|
|
|
revslider_is_vc = true; //set for the saving that we are visual composer
|
|
|
|
jQuery('.wpb-element-edit-modal').hide(); //hide the normal VC window and use own (old vc version)
|
|
jQuery('#vc_properties-panel').hide(); //hide the normal VC window and use own (new vc version)
|
|
|
|
var revslider_vc_variables = {};
|
|
|
|
revslider_vc_variables['alias'] = (typeof(params.alias) !== 'undefined') ? params.alias : '';
|
|
revslider_vc_variables['order'] = (typeof(params.order) !== 'undefined') ? params.order : ''; //.replace(/\'/g, '"')
|
|
|
|
jQuery('#revslider-tiny-dialog-step-1').show();
|
|
jQuery('#revslider-tiny-dialog-step-1-5').hide();
|
|
|
|
jQuery('#revslider-tiny-mce-dialog').dialog({
|
|
id : 'revslider-tiny-mce-dialog',
|
|
width : 900,
|
|
height : 600,
|
|
resizable: false
|
|
});
|
|
|
|
if(revslider_vc_variables['alias'] !== ''){ //only slider with alias
|
|
jQuery('select[name="revslider-existing-slider"] option').each(function(){
|
|
if(jQuery(this).val() == revslider_vc_variables['alias']){
|
|
jQuery(this).attr('selected', true);
|
|
var slid = jQuery(this).data('sliderid');
|
|
jQuery('#slider_list_item_'+slid).addClass('selected');
|
|
jQuery('#revslider-existing-slider option:selected').change();
|
|
}
|
|
});
|
|
|
|
if(revslider_vc_variables['order'] != ''){
|
|
jQuery('#revslider-tiny-dialog-step-1').hide();
|
|
jQuery('#revslider-tiny-dialog-step-1-5').show();
|
|
|
|
|
|
var rs_raw_construct = wp.template( "rs-modify-slide-wrap" );
|
|
var sel = jQuery('#revslider-existing-slider option:selected');
|
|
jQuery('.rs-mod-slides-wrapper').html(''); //reset HTML
|
|
|
|
//check if array or string
|
|
if(!Array.isArray(revslider_vc_variables['order'])){
|
|
revslider_vc_variables['order'] = revslider_vc_variables['order'].split(',');
|
|
}
|
|
|
|
if(typeof(rev_sliders_info) !== 'undefined'){
|
|
for(var key in rev_sliders_info){
|
|
if(key == sel.data('sliderid')){
|
|
var my_entry = new Object();
|
|
|
|
my_entry = jQuery.extend(true,{},my_entry, rev_sliders_info[key]);
|
|
var my_entries = [];
|
|
var act_slide = -1;
|
|
|
|
for(var okey in revslider_vc_variables['order']){
|
|
for(var sl in my_entry){
|
|
if(my_entry[sl]['slider_type'] == 'hero'){
|
|
if(revslider_vc_variables['order'][okey] == my_entry[sl]['id']){
|
|
act_slide = my_entry[sl]['id'];
|
|
}
|
|
}else{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
for(var okey in revslider_vc_variables['order']){
|
|
for(var sl in my_entry){ //add all found slides, empty the old ones first
|
|
if(my_entry[sl]['slider_type'] == 'hero'){
|
|
my_entry[sl]['active_slide'] = act_slide;
|
|
}
|
|
if(revslider_vc_variables['order'][okey] == my_entry[sl]['id']){
|
|
my_entry[sl]['mstate'] = 'published';
|
|
my_entry[sl]['state'] = 'published';
|
|
|
|
my_entries.push(my_entry[sl]);
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
for(var slm in my_entry){
|
|
if(my_entry[slm]['mstate'] == undefined){
|
|
my_entry[slm]['state'] = 'unpublished';
|
|
if(my_entry[slm]['slider_type'] == 'hero'){
|
|
my_entry[sl]['active_slide'] = act_slide;
|
|
}
|
|
my_entries.push(my_entry[slm]);
|
|
}
|
|
}
|
|
for(var ekey in my_entries){
|
|
var content = rs_raw_construct(my_entries[ekey]);
|
|
|
|
jQuery('.rs-mod-slides-wrapper').append(content);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else{ }
|
|
} |