X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/256a3b381f63716209b3527d0a14442ae570c283..3d39054f012aefe514b3f5509e32f09fc4feda44:/wp-admin/js/media.js diff --git a/wp-admin/js/media.js b/wp-admin/js/media.js index 3c2aa69a..e23adebb 100644 --- a/wp-admin/js/media.js +++ b/wp-admin/js/media.js @@ -1,11 +1,10 @@ -/* global ajaxurl, wpAjax */ +/* global ajaxurl, attachMediaBoxL10n, _wpMediaGridSettings, showNotice */ var findPosts; -(function($){ +( function( $ ){ findPosts = { - open : function(af_name, af_val) { - var st = document.documentElement.scrollTop || $(document).scrollTop(), - overlay = $( '.ui-find-overlay' ); + open: function( af_name, af_val ) { + var overlay = $( '.ui-find-overlay' ); if ( overlay.length === 0 ) { $( 'body' ).append( '
' ); @@ -15,14 +14,15 @@ var findPosts; overlay.show(); if ( af_name && af_val ) { - $('#affected').attr('name', af_name).val(af_val); + $( '#affected' ).attr( 'name', af_name ).val( af_val ); } - $('#find-posts').show().draggable({ - handle: '#find-posts-head' - }).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-328px'}); - $('#find-posts-input').focus().keyup(function(e){ - if (e.which == 27) { findPosts.close(); } // close on Escape + $( '#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 @@ -31,95 +31,90 @@ var findPosts; return false; }, - close : function() { - $('#find-posts-response').html(''); - $('#find-posts').draggable('destroy').hide(); + close: function() { + $('#find-posts-response').empty(); + $('#find-posts').hide(); $( '.ui-find-overlay' ).hide(); }, - overlay : function() { - $( '.ui-find-overlay' ).css( - { 'z-index': '999', 'width': $( document ).width() + 'px', 'height': $( document ).height() + 'px' } - ).on('click', function () { + overlay: function() { + $( '.ui-find-overlay' ).on( 'click', function () { findPosts.close(); }); }, - send : function() { + send: function() { var post = { - ps: $('#find-posts-input').val(), + ps: $( '#find-posts-input' ).val(), action: 'find_posts', _ajax_nonce: $('#_ajax_nonce').val() }, spinner = $( '.find-box-search .spinner' ); - spinner.show(); + 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 ); + } - $.ajax({ - type : 'POST', - url : ajaxurl, - data : post, - success : function(x) { findPosts.show(x); spinner.hide(); }, - error : function(r) { findPosts.error(r); spinner.hide(); } + $( '#find-posts-response' ).html( x.data ); + }).fail( function() { + $( '#find-posts-response' ).text( attachMediaBoxL10n.error ); }); - }, - - show : function(x) { - - if ( typeof(x) == 'string' ) { - this.error({'responseText': x}); - return; - } + } + }; - var r = wpAjax.parseAjaxResponse(x); + $( document ).ready( function() { + var settings, $mediaGridWrap = $( '#wp-media-grid' ); - if ( r.errors ) { - this.error({'responseText': wpAjax.broken}); - } - r = r.responses[0]; - $('#find-posts-response').html(r.data); + // Open up a manage media frame into the grid. + if ( $mediaGridWrap.length && window.wp && window.wp.media ) { + settings = _wpMediaGridSettings; - // Enable whole row to be clicked - $( '.found-posts td' ).on( 'click', function () { - $( this ).parent().find( '.found-radio input' ).prop( 'checked', true ); - }); - }, - - error : function(r) { - var er = r.statusText; - - if ( r.responseText ) { - er = r.responseText.replace( /<.[^<>]*?>/g, '' ); - } - if ( er ) { - $('#find-posts-response').html(er); - } + window.wp.media({ + frame: 'manage', + container: $mediaGridWrap, + library: settings.queryVars + }).open(); } - }; - $(document).ready(function() { - $('#find-posts-submit').click(function(e) { - if ( '' === $('#find-posts-response').html() ) - e.preventDefault(); + $( '#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(e){ - $('select[name^="action"]').each(function(){ - if ( $(this).val() == 'attach' ) { - e.preventDefault(); + $( '#doaction, #doaction2' ).click( function( event ) { + $( 'select[name^="action"]' ).each( function() { + var optionValue = $( this ).val(); + + if ( 'attach' === optionValue ) { + event.preventDefault(); findPosts.open(); + } else if ( 'delete' === optionValue ) { + if ( ! showNotice.warn() ) { + event.preventDefault(); + } } }); }); + + // Enable whole row to be clicked + $( '.find-box-inside' ).on( 'click', 'tr', function() { + $( this ).find( '.found-radio input' ).prop( 'checked', true ); + }); }); - $(window).resize(function() { - findPosts.overlay(); - }); -})(jQuery); +})( jQuery );