(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);