WordPress.org

Make WordPress Core

Ticket #47607: 47607.diff

File 47607.diff, 1.7 KB (added by andg, 11 months ago)

Add visual feedback when submitting the form that adds a new term.

  • wp-admin/css/edit.css

    diff --git a/wp-admin/css/edit.css b/wp-admin/css/edit.css
    index e186e488ad..90ff73ec85 100644
    a b p.popular-tags a { 
    11711171        margin-top: 20px;
    11721172}
    11731173
     1174#addtag.submittingtag .spinner {
     1175        visibility: visible;
     1176}
     1177
    11741178/* Comments */
    11751179
    11761180.comment-php .wp-editor-area {
  • wp-admin/js/tags.js

    diff --git a/wp-admin/js/tags.js b/wp-admin/js/tags.js
    index 0f195c777e..a9798e28be 100644
    a b jQuery(document).ready(function($) { 
    8787                }
    8888        });
    8989
     90        /**
     91         * Check if we're currently adding a term, and we're not done yet with the AJAX request.
     92         *
     93         * @type {Boolean}
     94         */
     95        var addingTerm = false;
     96
    9097        /**
    9198         * Adds an event handler to the form submit on the term overview page.
    9299         *
    jQuery(document).ready(function($) { 
    97104         * @returns boolean Always returns false to cancel the default event handling.
    98105         */
    99106        $('#submit').click(function(){
     107                if ( addingTerm ) {
     108                        // If we're adding a term, noop the button so that the term doesn't end
     109                        // up being added twice.
     110                        return false;
     111                }
     112
    100113                var form = $(this).parents('form');
    101114
    102115                if ( ! validateForm( form ) )
    103116                        return false;
    104117
     118                addingTerm = true;
     119                form.addClass( 'submittingtag' );
     120
    105121                /**
    106122                 * Does a request to the server to add a new term to the database
    107123                 *
    jQuery(document).ready(function($) { 
    112128                $.post(ajaxurl, $('#addtag').serialize(), function(r){
    113129                        var res, parent, term, indent, i;
    114130
     131                        addingTerm = false;
     132                        form.removeClass( 'submittingtag' );
     133
    115134                        $('#ajax-response').empty();
    116135                        res = wpAjax.parseAjaxResponse( r, 'ajax-response' );
    117136                        if ( ! res || res.errors )