Make WordPress Core

Ticket #55078: 55078-3.diff

File 55078-3.diff, 2.5 KB (added by johnregan3, 3 years ago)

Updated to pass Unit Tests

  • src/js/_enqueues/lib/ajax-response.js

    diff --git src/js/_enqueues/lib/ajax-response.js src/js/_enqueues/lib/ajax-response.js
    index b764823742..603fc61a76 100644
    window.wpAjax = jQuery.extend( { 
    1818                return r;
    1919        },
    2020        parseAjaxResponse: function( x, r, e ) { // 1 = good, 0 = strange (bad data?), -1 = you lack permission.
    21                 var parsed = {}, re = jQuery('#' + r).empty(), err = '', successmsg = '';
     21                var parsed = {}, re = jQuery('#' + r).empty(), err = '', noticemsg = '';
    2222
    2323                if ( x && typeof x === 'object' && x.getElementsByTagName('wp_ajax') ) {
    2424                        parsed.responses = [];
    window.wpAjax = jQuery.extend( { 
    2727                                var th = jQuery(this), child = jQuery(this.firstChild), response;
    2828                                response = { action: th.attr('action'), what: child.get(0).nodeName, id: child.attr('id'), oldId: child.attr('old_id'), position: child.attr('position') };
    2929                                response.data = jQuery( 'response_data', child ).text();
    30                                 if ( jQuery( 'body' ).hasClass( 'edit-tags-php' ) ) {
    31                                         successmsg += response.data;
    32                                 }
    3330                                response.supplemental = {};
    3431                                if ( !jQuery( 'supplemental', child ).children().each( function() {
     32
     33                                        if ( this.nodeName === 'notice' ) {
     34                                                noticemsg += jQuery(this).text();
     35                                                return;
     36                                        }
     37
    3538                                        response.supplemental[this.nodeName] = jQuery(this).text();
    3639                                } ).length ) { response.supplemental = false; }
    3740                                response.errors = [];
    window.wpAjax = jQuery.extend( { 
    5255                        if ( err.length ) {
    5356                                re.html( '<div class="error">' + err + '</div>' );
    5457                                wp.a11y.speak( err );
    55                         } else if ( successmsg.length ) {
    56                                 re.html( '<div class="updated notice is-dismissible"><p>' + successmsg + '</p></div>');
     58                        } else if ( noticemsg.length ) {
     59                                re.html( '<div class="updated notice is-dismissible"><p>' + noticemsg + '</p></div>');
    5760                                jQuery(document).trigger( 'wp-updates-notice-added' );
    58                                 wp.a11y.speak( successmsg );
     61                                wp.a11y.speak( noticemsg );
    5962                        }
    6063                        return parsed;
    6164                }
  • src/wp-admin/includes/ajax-actions.php

    diff --git src/wp-admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php
    index b81710ddef..9d301e514c 100644
    function wp_ajax_add_tag() { 
    11151115                array(
    11161116                        'what'         => 'taxonomy',
    11171117                        'data'         => $message,
    1118                         'supplemental' => compact( 'parents', 'noparents' ),
     1118                        'supplemental' => array(
     1119                                'parents'   => $parents,
     1120                                'noparents' => $noparents,
     1121                                'notice'    => $message,
     1122                        ),
    11191123                )
    11201124        );
    11211125