(function($){
"use strict";
$(document).ready(function(){
adela_init_select2();
adela_upload_button();
adela_multi_upload_button();
adela_upload_single_image();
adela_widget_repeater_field();
adela_handle_custom_menu();
});
$( document ).ajaxComplete(function( event, request, settings ) {
adela_init_select2();
});
function adela_import_demo_content(){
$(document).on('click', '.install_demo', function(e){
e.preventDefault();
var demo_key = parseInt( $(this).attr( 'data-demo_key' ) );
adela_request_import_xml( demo_key );
});
}
function adela_widget_repeater_field(){
$(document).on('click', '.add_row_btn', function(){
var parent = $(this).closest('.form-setting-wrap');
var field_frame = parent.find('.group-input-frame').html();
var current_index = parent.find('.group-input-fields .group-input').length;
field_frame = field_frame.toString().replace(/{{index}}/g, current_index);
parent.find('.group-input-fields').append(field_frame);
$(this).closest('form').find('.widget-control-actions').find('input[name="savewidget"].button-primary').removeAttr("disabled");
});
$(document).on('click', '.adela-remove-group', function(){
$(this).closest('form').find('.widget-control-actions').find('input[name="savewidget"].button-primary').removeAttr("disabled");
var $this = $(this);
var parent = $this.closest('.group-input');
parent.remove();
});
$(document).on('change', '.group-input-fields input', function(event) {
event.preventDefault();
$(this).closest('form').find('.widget-control-actions').find('input[name="savewidget"].button-primary').removeAttr("disabled");
});
}
function adela_init_select2(){
if( $('.adela-select2').length > 0 ){
$('.adela-select2').each(function(){
$(this).select2();
});
}
}
function adela_handle_custom_menu(){
$(document).on('change', '.menu-item-settings .field-show_content .show_content_checker', function(event) {
event.preventDefault();
// item_requite_to_show
var _this = $(this);
if(_this.prop('checked')){
_this.parent().siblings('.item_requite_to_show').css('display', 'block');
}else{
_this.parent().siblings('.item_requite_to_show').css('display', 'none');
}
});
}
function adela_upload_single_image(){
$(document).on('click', '.upload_single_button', function(){
var parent = $(this).closest('.adela-input-field');
var file_frame, image_data, attachment;
if ( undefined !== file_frame ) {
file_frame.open();
return;
}
file_frame = wp.media.frames.file_frame = wp.media({
frame: 'post',
state: 'insert',
multiple: false
});
file_frame.open();
file_frame.on( 'insert', function() {
attachment = file_frame.state().get('selection').first().toJSON();
var img_url = '';
if( typeof attachment.url != 'undefined' && attachment.url ){
img_url = attachment.url;
}
parent.find( '.upload_media_url' ).val(img_url);
parent.find( '.setted-image-wrap' ).html('').append( '
' );
parent.find( '.attachment_url' ).trigger( 'change' );
});
});
}
function adela_upload_button(){
$(document).on('click', '.upload_media_button', function(){
var parent = $(this).parent();
var file_frame, image_data, attachment;
if ( undefined !== file_frame ) {
file_frame.open();
return;
}
file_frame = wp.media.frames.file_frame = wp.media({
frame: 'post',
state: 'insert',
multiple: false
});
file_frame.open();
file_frame.on( 'insert', function() {
attachment = file_frame.state().get('selection').first().toJSON();
var img_url = '';
if( typeof attachment.url != 'undefined' && attachment.url ){
img_url = attachment.url;
}
parent.find( '.upload_media_url' ).val(img_url);
parent.find( '.setted-image' ).html('').append( '
' );
$(document).trigger('widget-updated');
});
});
}
function adela_multi_upload_button(){
$(document).on('click', '.multi_upload_media_button', function(){
var parent = $(this).closest( '.form-setting-wrap' );
var input_name = $(this).attr( 'data-input_name' );
var file_frame, image_data, attachment;
if ( undefined !== file_frame ) {
file_frame.open();
return;
}
file_frame = wp.media.frames.file_frame = wp.media({
frame: 'post',
state: 'insert',
multiple: true
});
file_frame.open();
file_frame.on( 'insert', function() {
var attachments;
attachments = file_frame.state().get('selection').toJSON();
if( attachments ){
$.each( attachments, function(k,v){
if( typeof v.url != 'undefined' ){
var new_input = $( '' );
var new_image = $( '
' );
parent.find( '.group-inputs' ).html('').append( new_input );
parent.find( '.multiple-images' ).html('').append( new_image );
}
console.log( v.url );
});
}
$(document).trigger('widget-updated');
});
});
}
})(jQuery);