/* global jQuery */ /* global wp */ jQuery(document).ready( function($) { 'use strict'; $(document).on('change','.custom_media_url',function() { var value = $.trim($(this).val()); var image_input = $(this).parent().find('.custom_media_image'); var media_id = $(this).parent().parent().find('.custom_media_id'); if(value.length === 0){ image_input.attr('src',''); image_input.attr('alt',''); media_id.val(''); } var saveBtn = $(this).closest('.form').find('.widget-control-save'); if (typeof saveBtn !== 'undefined') { saveBtn.trigger( 'click' ); } }); function media_upload(button_class) { var _custom_media = true; $('body').on('click', button_class, function() { var button_id ='#'+$(this).attr('id'); var media_id = jQuery(this).parent().parent().children('.custom_media_id'); var display_field = jQuery(this).parent().children('input:text'); var display_image = jQuery(this).parent().children('.custom_media_image'); var image_in_customizer = jQuery(this).parent().children('.custom_media_display_in_customizer'); _custom_media = true; wp.media.editor.send.attachment = function(props, attachment) { if( typeof attachment !== 'undefined' ) { if ( _custom_media ) { if ( typeof display_field !== 'undefined' ) { if( typeof attachment.id !== 'undefined' ) { media_id.val(attachment.id); } if ( typeof attachment.sizes !== 'undefined' ) { if ( typeof attachment.sizes.thumbnail !== 'undefined' ) { if (typeof(attachment.sizes.thumbnail.url) !== 'undefined') { display_image.attr('src', attachment.sizes.thumbnail.url).css('display', 'block'); image_in_customizer.val(attachment.sizes.thumbnail.url); } } else { if( typeof attachment.url !== 'undefined' ) { display_image.attr('src', attachment.url).css('display', 'block'); image_in_customizer.val(attachment.url); } } } else { if ( typeof attachment.url !== 'undefined' ) { display_image.attr('src', attachment.url).css('display', 'block'); image_in_customizer.val(attachment.url); } } switch (props.size) { case 'full': display_field.val(attachment.sizes.full.url); break; case 'medium': display_field.val(attachment.sizes.medium.url); break; case 'thumbnail': display_field.val(attachment.sizes.thumbnail.url); break; default: display_field.val(attachment.url); break; } display_field.trigger('change'); } } else { return wp.media.editor.send.attachment(button_id, [props, attachment]); } } }; wp.media.editor.open(button_class); /*window.send_to_editor = function (html) { };*/ return false; }); } media_upload('.custom_media_button'); });