web/wp-admin/js/media.dev.js
changeset 204 09a1c134465b
parent 203 f507feede89a
child 205 a4f7897e21a9
equal deleted inserted replaced
203:f507feede89a 204:09a1c134465b
     1 
       
     2 var findPosts;
       
     3 (function($){
       
     4 	findPosts = {
       
     5 		open : function(af_name, af_val) {
       
     6 			var st = document.documentElement.scrollTop || $(document).scrollTop();
       
     7 
       
     8 			if ( af_name && af_val ) {
       
     9 				$('#affected').attr('name', af_name).val(af_val);
       
    10 			}
       
    11 			$('#find-posts').show().draggable({
       
    12 				handle: '#find-posts-head'
       
    13 			}).css({'top':st + 50 + 'px','left':'50%','marginLeft':'-250px'});
       
    14 
       
    15 			$('#find-posts-input').focus().keyup(function(e){
       
    16 				if (e.which == 27) { findPosts.close(); } // close on Escape
       
    17 			});
       
    18 
       
    19 			return false;
       
    20 		},
       
    21 
       
    22 		close : function() {
       
    23 			$('#find-posts-response').html('');
       
    24 			$('#find-posts').draggable('destroy').hide();
       
    25 		},
       
    26 
       
    27 		send : function() {
       
    28 			var post = {
       
    29 				ps: $('#find-posts-input').val(),
       
    30 				action: 'find_posts',
       
    31 				_ajax_nonce: $('#_ajax_nonce').val(),
       
    32 				post_type: $('input[name="find-posts-what"]:checked').val()
       
    33 			};
       
    34 
       
    35 			$.ajax({
       
    36 				type : 'POST',
       
    37 				url : ajaxurl,
       
    38 				data : post,
       
    39 				success : function(x) { findPosts.show(x); },
       
    40 				error : function(r) { findPosts.error(r); }
       
    41 			});
       
    42 		},
       
    43 
       
    44 		show : function(x) {
       
    45 
       
    46 			if ( typeof(x) == 'string' ) {
       
    47 				this.error({'responseText': x});
       
    48 				return;
       
    49 			}
       
    50 
       
    51 			var r = wpAjax.parseAjaxResponse(x);
       
    52 
       
    53 			if ( r.errors ) {
       
    54 				this.error({'responseText': wpAjax.broken});
       
    55 			}
       
    56 			r = r.responses[0];
       
    57 			$('#find-posts-response').html(r.data);
       
    58 		},
       
    59 
       
    60 		error : function(r) {
       
    61 			var er = r.statusText;
       
    62 
       
    63 			if ( r.responseText ) {
       
    64 				er = r.responseText.replace( /<.[^<>]*?>/g, '' );
       
    65 			}
       
    66 			if ( er ) {
       
    67 				$('#find-posts-response').html(er);
       
    68 			}
       
    69 		}
       
    70 	};
       
    71 
       
    72 	$(document).ready(function() {
       
    73 		$('#find-posts-submit').click(function(e) {
       
    74 			if ( '' == $('#find-posts-response').html() )
       
    75 				e.preventDefault();
       
    76 		});
       
    77 		$( '#find-posts .find-box-search :input' ).keypress( function( event ) {
       
    78 			if ( 13 == event.which ) {
       
    79 				findPosts.send();
       
    80 				return false;
       
    81 			}
       
    82 		} );
       
    83 		$( '#find-posts-search' ).click( findPosts.send );
       
    84 		$( '#find-posts-close' ).click( findPosts.close );
       
    85 		$('#doaction, #doaction2').click(function(e){
       
    86 			$('select[name^="action"]').each(function(){
       
    87 				if ( $(this).val() == 'attach' ) {
       
    88 					e.preventDefault();
       
    89 					findPosts.open();
       
    90 				}
       
    91 			});
       
    92 		});
       
    93 	});
       
    94 })(jQuery);