jQuery( document ).ready( function() {
jQuery( document ).on( 'click', '.cmb-file-upload', function(e) {
e.preventDefault();
var link = jQuery( this );
var container = jQuery( this ).parent();
var frameArgs = {
multiple: false,
title: 'Select File',
}
library = container.attr( 'data-type' ).split(',');
if ( library.length > 0 )
frameArgs.library = { type: library }
var CMB_Frame = wp.media( frameArgs );
CMB_Frame.on( 'select', function() {
var selection = CMB_Frame.state().get('selection'),
model = selection.first(),
fileHolder = container.find( '.cmb-file-holder' );
jQuery( container ).find( '.cmb-file-upload-input' ).val( model.id );
link.hide(); // Hide 'add media' button
CMB_Frame.close();
fileHolder.html( '' );
fileHolder.show();
fileHolder.siblings( '.cmb-remove-file' ).show();
var fieldType = container.closest( '.field-item' ).attr( 'data-class' );
if ( 'CMB_Image_Field' === fieldType ) {
var data = {
action: 'cmb_request_image',
id: model.attributes.id,
width: container.width(),
height: container.height(),
crop: fileHolder.attr('data-crop'),
nonce: link.attr( 'data-nonce' )
}
fileHolder.addClass( 'cmb-loading' );
jQuery.post( ajaxurl, data, function( src ) {
// Insert image
jQuery( '', { src: src } ).prependTo( fileHolder );
fileHolder.removeClass( 'cmb-loading' );
}).fail( function() {
// Fallback - insert full size image.
jQuery( '
', { src: model.attributes.url } ).prependTo( fileHolder );
fileHolder.removeClass( 'cmb-loading' );
});
} else {
jQuery( '
', { src: model.attributes.icon } ).prependTo( fileHolder );
fileHolder.append( jQuery('