| Linux webm010.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 Path : /home/c/u/i/cuisinesj/www/new/wp-content/themes/customizr/assets/back/js/ |
| Current File : /home/c/u/i/cuisinesj/www/new/wp-content/themes/customizr/assets/back/js/tc_ajax_slider.js |
/**
* Ajax scripts for slider
*
* @package Customizr
* @since Customizr 1.0
*/
var CzrSlider;
( function($) {
"use strict";
$( function(){
CzrSlider = function() {
//attribute valorization
this.$body = $('body');
this._action = 'slider_action';
this._nonce = SliderAjax.SliderCheckNonce;
this.$_slider_section_box = $('#slider_sectionid');
this.$_slider_fields_box = $('#slider-fields-box');
this.$_tc_post_id = $('input#tc_post_id');
//context: attachment or post?
this._check_field = 'slider_check_field';
this._context = 'attachment';
if ( $('input#post_slider_check_field').length > 0 ) {
this._check_field = 'post_slider_check_field';
this._context = 'post';
}
this.$_slider_check_field = $('input#' + this._check_field);
this._color_picker_on = 'post' == this.$_context;
if ( this._color_picker_on )
this._color_picker_func = ( typeof jQuery.wp === 'object' && typeof jQuery.wp.wpColorPicker === 'function' ) ? 'wpColorPicker' : 'farbtastic' ;
// initial data to send over $_POST, the acual sent data will be an extension of this
this._data = {
'action' : this._action,
'tc_post_id' : this.$_tc_post_id.val(),
'SliderCheckNonce' : this._nonce,
'tc_post_type' : this._context
};
//event connecting
this.eventListeners();
//init sortable, other ext plugins already initialized
this._init_sortable();
//init multipicker
this._init_multipicker();
//init checkboxes
this._init_checkboxes();
};
$.extend( CzrSlider.prototype, {
eventListeners : function(){
var self = this;
// elements events
//enable slider
this.$body.on('change', 'input#' + this._check_field, function(){
self.ajax( self._build_data('enable') );
//select different slider
}).on( 'change', 'select#post_slider_field', function(){
self.ajax( self._build_data('select_slider') );
//sort slides
}).on( 'sortupdate', '#slider_sectionid #sortable',function() {
self.ajax( self._build_data('reorder_slides'), '_reorder_slides_response' );
//create new slider
}).on('click', '#tc_create_slider', function(){
self.ajax( self._build_data('new_slider') );
//delete slider
}).on('click', '#delete-slider', function(){
self.ajax( self._build_data('delete_slider') );
});
},
ajax : function( _data, _callback ){
var self = this;
this.$_slider_fields_box.find('.spinner').show();
$.post(
ajaxurl,//global var declared by WP when is_admin() => ajaxurl = '/wp-admin/admin-ajax.php',
_data,
function( response ){
if ( _callback ){
self[_callback]( response );
return;
}
self._default_response( response );
}
);//end $.post
},
//handle ajax default response
_default_response : function( response ){
this.$_slider_fields_box.empty().append(response);
this.$_slider_fields_box.find('.spinner').hide();
this._init_ext_plugins();
},
//handle reordering slides ajax response
_reorder_slides_response : function(){
var slider_update = $( '<div/>' ).addClass( 'updated' )
.css( 'opacity' ,0)
.html( '<div class="message">Slider updated</div>' )
.appendTo( '#update-status' );
slider_update.animate({opacity:0.9}, function(){
slider_update.delay(1200).fadeOut(function(){
slider_update.remove();
});
});
this.$_slider_fields_box.find('.spinner').hide();
this._init_sortable();
},
//build the data to pass over $_POST depending on the event
_build_data : function( _event ){
var _data = {};
switch ( _event ) {
case 'new_slider':
case 'select_slider':
_data = $.extend( {}, this._data, {
'post_slider_name' : $( 'select#post_slider_field').val(),
'new_slider_name' : $( 'input#slider_field' ).val(),
});
if ( 'attachment' == this._context )
$.extend( _data, this._data, {
'slide_title_field' : $( 'input#slide_title_field' ).val(),
'slide_text_field' : $( 'textarea#slide_text_field' ).val(),
'slide_color_field' : $( 'input#slide_color_field' ).val(),
'slide_button_field' : $( 'input#slide_button_field' ).val(),
'slide_link_field' : $( 'select#slide_link_field' ).val(),
'slide_custom_link_field' : $( 'input#slide_custom_link_field').val(),
'slide_link_target_field' : $( 'input#slide_link_target_field').is(':checked') ? 1 : '',
'slide_link_whole_slide_field' : $( 'input#slide_link_whole_slide_field').is(':checked') ? 1 : '',
});
break;
case 'delete_slider':
_data = $.extend( {}, this._data, {
'delete_slider' : true,
'currentpostslider' : $( 'select#post_slider_field' ).val(),
//reset new_slider_name if needed
'new_slider_name' : null,
});
break;
case 'reorder_slides':
_data = $.extend( {}, this._data, {
//position array
'newOrder' : this.$_slider_section_box.find('#sortable').sortable( 'toArray' ).toString(),
//current post slider
'currentpostslider' : $( 'select#post_slider_field' ).val()
});
break;
default :
_data = this._data;
}
_data[this._check_field] = this.$_slider_check_field.is(':checked') ? 1 : '';
return _data;
},
//init external plugins such as sortable, color pickers, iphone check
_init_ext_plugins : function(){
this._init_color_picker();
this._init_checkboxes();
this._init_sortable();
this._init_multipicker();
},
//init color picker
_init_color_picker : function(){
if ( this._color_picker_on ){
var $_slide_color_field = $('#slide_color_field');
switch ( this._color_picker_func ){
case 'farbtastic' :
$('#colorfield').farbtastic( $_slide_color_field );
break;
default:
$_slide_color_field.wpColorPicker();
}
}
},
//init checkboxes
_init_checkboxes : function(){
var _checkwraper_selector = '.czr-toggle-check',
_checkboxes_selector = _checkwraper_selector + ' input[type="checkbox"]';
var _do_ = function( $checkboxes ) {
$checkboxes.each( function() {
var $input = $(this),
$checkWrapper = $input.closest( _checkwraper_selector );
$checkWrapper.toggleClass( 'is-checked', $input.is(':checked') );
$checkWrapper.find('svg').remove();
$checkWrapper.append(
! $input.is(':checked') ? '<svg class="czr-toggle-check__off" width="6" height="6" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6"><path d="M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z"></path></svg>' : '<svg class="czr-toggle-check__on" width="2" height="6" aria-hidden="true" role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 6"><path d="M0 0h2v6H0z"></path></svg>'
);
});
};
this.$_slider_section_box.on( 'change', _checkboxes_selector, function() {
_do_( $(this) );
});
_do_( $( _checkboxes_selector ) );
},
//init sortable
_init_sortable : function(){
this.$_slider_section_box.find( '#sortable' ).sortable({
placeholder: "ui-state-highlight",
}).disableSelection();
},
//init czrSelect2 multipicker
_init_multipicker : function(){
if ( typeof $.fn.czrSelect2 !== 'function' ) return;
this.$_slider_section_box.find('select.czr_multiple_picker, select.tc_multiple_picker').czrSelect2({
closeOnSelect: false,
formatSelection: tcEscapeMarkup
});
function tcEscapeMarkup(obj) {
//trim dashes
return obj.text.replace(/\u2013|\u2014/g, "");
}
}
});
new CzrSlider();
});
})(jQuery);