115 lines
2.7 KiB
JavaScript
115 lines
2.7 KiB
JavaScript
|
/* global ajaxurl, attachMediaBoxL10n, _wpMediaGridSettings */
|
||
|
|
||
|
var findPosts;
|
||
|
( function( $ ){
|
||
|
findPosts = {
|
||
|
open: function( af_name, af_val ) {
|
||
|
var overlay = $( '.ui-find-overlay' );
|
||
|
|
||
|
if ( overlay.length === 0 ) {
|
||
|
$( 'body' ).append( '<div class="ui-find-overlay"></div>' );
|
||
|
findPosts.overlay();
|
||
|
}
|
||
|
|
||
|
overlay.show();
|
||
|
|
||
|
if ( af_name && af_val ) {
|
||
|
$( '#affected' ).attr( 'name', af_name ).val( af_val );
|
||
|
}
|
||
|
|
||
|
$( '#find-posts' ).show();
|
||
|
|
||
|
$('#find-posts-input').focus().keyup( function( event ){
|
||
|
if ( event.which == 27 ) {
|
||
|
findPosts.close();
|
||
|
} // close on Escape
|
||
|
});
|
||
|
|
||
|
// Pull some results up by default
|
||
|
findPosts.send();
|
||
|
|
||
|
return false;
|
||
|
},
|
||
|
|
||
|
close: function() {
|
||
|
$('#find-posts-response').empty();
|
||
|
$('#find-posts').hide();
|
||
|
$( '.ui-find-overlay' ).hide();
|
||
|
},
|
||
|
|
||
|
overlay: function() {
|
||
|
$( '.ui-find-overlay' ).on( 'click', function () {
|
||
|
findPosts.close();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
send: function() {
|
||
|
var post = {
|
||
|
ps: $( '#find-posts-input' ).val(),
|
||
|
action: 'find_posts',
|
||
|
_ajax_nonce: $('#_ajax_nonce').val()
|
||
|
},
|
||
|
spinner = $( '.find-box-search .spinner' );
|
||
|
|
||
|
spinner.addClass( 'is-active' );
|
||
|
|
||
|
$.ajax( ajaxurl, {
|
||
|
type: 'POST',
|
||
|
data: post,
|
||
|
dataType: 'json'
|
||
|
}).always( function() {
|
||
|
spinner.removeClass( 'is-active' );
|
||
|
}).done( function( x ) {
|
||
|
if ( ! x.success ) {
|
||
|
$( '#find-posts-response' ).text( attachMediaBoxL10n.error );
|
||
|
}
|
||
|
|
||
|
$( '#find-posts-response' ).html( x.data );
|
||
|
}).fail( function() {
|
||
|
$( '#find-posts-response' ).text( attachMediaBoxL10n.error );
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
$( document ).ready( function() {
|
||
|
var settings, $mediaGridWrap = $( '#wp-media-grid' );
|
||
|
|
||
|
// Open up a manage media frame into the grid.
|
||
|
if ( $mediaGridWrap.length && window.wp && window.wp.media ) {
|
||
|
settings = _wpMediaGridSettings;
|
||
|
|
||
|
window.wp.media({
|
||
|
frame: 'manage',
|
||
|
container: $mediaGridWrap,
|
||
|
library: settings.queryVars
|
||
|
}).open();
|
||
|
}
|
||
|
|
||
|
$( '#find-posts-submit' ).click( function( event ) {
|
||
|
if ( ! $( '#find-posts-response input[type="radio"]:checked' ).length )
|
||
|
event.preventDefault();
|
||
|
});
|
||
|
$( '#find-posts .find-box-search :input' ).keypress( function( event ) {
|
||
|
if ( 13 == event.which ) {
|
||
|
findPosts.send();
|
||
|
return false;
|
||
|
}
|
||
|
});
|
||
|
$( '#find-posts-search' ).click( findPosts.send );
|
||
|
$( '#find-posts-close' ).click( findPosts.close );
|
||
|
$( '#doaction, #doaction2' ).click( function( event ) {
|
||
|
$( 'select[name^="action"]' ).each( function() {
|
||
|
if ( $(this).val() === 'attach' ) {
|
||
|
event.preventDefault();
|
||
|
findPosts.open();
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
|
||
|
// Enable whole row to be clicked
|
||
|
$( '.find-box-inside' ).on( 'click', 'tr', function() {
|
||
|
$( this ).find( '.found-radio input' ).prop( 'checked', true );
|
||
|
});
|
||
|
});
|
||
|
})( jQuery );
|