/** * Widget Custom JS */ (function ( $, window, document, undefined ) { 'use strict'; var waf_document = $(document); waf_document.on('click','.media-image-upload', function(e){ // Prevents the default action from occuring. e.preventDefault(); var media_image_upload = $(this); var media_title = $(this).data('title'); var media_button = $(this).data('button'); var media_input_val = $(this).prev(); var media_image_url_value = $(this).prev().prev().children('img'); var media_image_url = $(this).siblings('.img-preview-wrap'); var meta_image_frame = wp.media.frames.meta_image_frame = wp.media({ title: media_title, button: { text: media_button }, library: { type: 'image' } }); // Opens the media library frame. meta_image_frame.open(); // Runs when an image is selected. meta_image_frame.on('select', function(){ // Grabs the attachment selection and creates a JSON representation of the model. var media_attachment = meta_image_frame.state().get('selection').first().toJSON(); // Sends the attachment URL to our custom image input field. media_input_val.val(media_attachment.url); if( media_image_url_value !== null ){ media_image_url_value.attr( 'src', media_attachment.url ); media_image_url.show(); WAFREFRESHVALUE(media_image_upload.closest("p")); } }); }); waf_document.on('click','.media-image-remove', function(e){ $(this).siblings('.img-preview-wrap').hide(); $(this).prev().prev().val(''); WAFREFRESHVALUE($(this).closest("p")); }) /*sortable*/ var WAFREFRESHVALUE = function (wrapObject) { wrapObject.find('[name]').each(function(){ $(this).trigger('change'); }); }; })( jQuery, window, document );