1 window.wp = window.wp || {};
8 * Decrement update counts throughout the various menus
10 * @param {string} updateType
12 wp.updates.decrementCount = function( upgradeType ) {
13 var count, pluginCount, $elem;
15 $elem = $( '#wp-admin-bar-updates .ab-label' );
17 count = parseInt( count, 10 ) - 1;
18 if ( count < 0 || isNaN( count ) ) {
21 $( '#wp-admin-bar-updates .ab-item' ).removeAttr( 'title' );
24 $elem = $( 'a[href="update-core.php"] .update-plugins' );
25 $elem.each( function( index, elem ) {
26 elem.className = elem.className.replace( /count-\d+/, 'count-' + count );
28 $elem.removeAttr( 'title' );
29 $elem.find( '.update-count' ).text( count );
31 if ( 'plugin' === upgradeType ) {
32 $elem = $( '#menu-plugins' );
33 pluginCount = $elem.find( '.plugin-count' ).eq(0).text();
34 pluginCount = parseInt( pluginCount, 10 ) - 1;
35 if ( pluginCount < 0 || isNaN( pluginCount ) ) {
38 $elem.find( '.plugin-count' ).text( pluginCount );
39 $elem.find( '.update-plugins' ).each( function( index, elem ) {
40 elem.className = elem.className.replace( /count-\d+/, 'count-' + pluginCount );
45 $( window ).on( 'message', function( e ) {
46 var event = e.originalEvent,
48 loc = document.location,
49 expectedOrigin = loc.protocol + '//' + loc.hostname;
51 if ( event.origin !== expectedOrigin ) {
55 message = $.parseJSON( event.data );
57 if ( typeof message.action === 'undefined' || message.action !== 'decrementUpdateCount' ) {
61 wp.updates.decrementCount( message.upgradeType );
65 })( jQuery, window.wp );