/* 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( '
' ); 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 );