Skip to:
Content

BuddyPress.org

Ticket #7626: 7726.patch

File 7726.patch, 4.9 KB (added by imath, 18 months ago)
  • src/bp-templates/bp-nouveau/includes/messages/functions.php

    diff --git src/bp-templates/bp-nouveau/includes/messages/functions.php src/bp-templates/bp-nouveau/includes/messages/functions.php
    index 852637084..f3a672a76 100644
    function bp_nouveau_messages_localize_scripts( $params = array() ) { 
    9898                'nonces' => array(
    9999                        'send' => wp_create_nonce( 'messages_send_message' ),
    100100                ),
    101                 'loading' => __( 'Loading messages. Please wait.', 'buddypress' ),
    102                 'bulk_actions' => bp_nouveau_messages_get_bulk_actions(),
     101                'loading'       => __( 'Loading messages. Please wait.', 'buddypress' ),
     102                'doingAction'   => array(
     103                        'read'   => __( 'Marking message(s) as read. Please wait.', 'buddypress' ),
     104                        'unread' => __( 'Marking message(s) as unread. Please wait.', 'buddypress' ),
     105                        'delete' => __( 'Deleiing message(s). Please wait.', 'buddypress' ),
     106                        'star'   => __( 'Starring message(s). Please wait.', 'buddypress' ),
     107                        'unstar' => __( 'Unstarring message(s). Please wait.', 'buddypress' ),
     108                ),
     109                'bulk_actions'  => bp_nouveau_messages_get_bulk_actions(),
    103110        );
    104111
    105112        // Star private messages.
  • src/bp-templates/bp-nouveau/js/buddypress-messages.js

    diff --git src/bp-templates/bp-nouveau/js/buddypress-messages.js src/bp-templates/bp-nouveau/js/buddypress-messages.js
    index 9ec7218ef..d2245fb03 100644
    window.bp = window.bp || {}; 
    850850                },
    851851
    852852                doAction: function( event ) {
    853                         var action = $( event.currentTarget ).data( 'bp-action' ), self = this, options = {}, mid;
     853                        var action = $( event.currentTarget ).data( 'bp-action' ), self = this, options = {}, mid,
     854                            feedback = BP_Nouveau.messages.doingAction;
    854855
    855856                        if ( ! action ) {
    856857                                return event;
    window.bp = window.bp || {}; 
    874875                                mid = model.get( 'starred_id' );
    875876                        }
    876877
     878                        if ( ! _.isUndefined( feedback[ action ] ) ) {
     879                                bp.Nouveau.Messages.displayFeedback( feedback[ action ], 'loading' );
     880                        }
     881
    877882                        this.collection.doAction( action, mid, options ).done( function( response ) {
     883                                // Remove previous feedback.
     884                                bp.Nouveau.Messages.removeFeedback();
     885
    878886                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    879887
    880888                                if ( 'delete' === action || ( 'starred' === self.collection.options.box && 'unstar' === action ) ) {
    window.bp = window.bp || {}; 
    895903                                        model.set( _.first( response.messages ) );
    896904                                }
    897905                        } ).fail( function( response ) {
     906                                // Remove previous feedback.
     907                                bp.Nouveau.Messages.removeFeedback();
     908
    898909                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    899910                        } );
    900911                }
    window.bp = window.bp || {}; 
    931942
    932943                doBulkAction: function( event ) {
    933944                        var self = this, options = {}, ids, attr = 'id';
     945                            feedback = BP_Nouveau.messages.doingAction;
    934946
    935947                        event.preventDefault();
    936948
    window.bp = window.bp || {}; 
    969981                            return [model.get( attr ), model.get( 'id' )];
    970982                        } ) );
    971983
     984                        if ( ! _.isUndefined( feedback[ action ] ) ) {
     985                                bp.Nouveau.Messages.displayFeedback( feedback[ action ], 'loading' );
     986                        }
     987
    972988                        this.collection.doAction( action, ids, options ).done( function( response ) {
     989                                // Remove previous feedback.
     990                                bp.Nouveau.Messages.removeFeedback();
     991
    973992                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    974993
    975994                                if ( 'delete' === action || ( 'starred' === self.collection.options.box && 'unstar' === action ) ) {
    window.bp = window.bp || {}; 
    9881007                                        } );
    9891008                                }
    9901009                        } ).fail( function( response ) {
     1010                                // Remove previous feedback.
     1011                                bp.Nouveau.Messages.removeFeedback();
     1012
    9911013                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    9921014                        } );
    9931015                }
    window.bp = window.bp || {}; 
    10881110
    10891111                doAction: function( event ) {
    10901112                        var action = $( event.currentTarget ).data( 'bp-action' ), self = this, options = {};
     1113                            feedback = BP_Nouveau.messages.doingAction;
    10911114
    10921115                        if ( ! action ) {
    10931116                                return event;
    window.bp = window.bp || {}; 
    11141137
    11151138                        }
    11161139
     1140                        if ( ! _.isUndefined( feedback[ action ] ) ) {
     1141                                bp.Nouveau.Messages.displayFeedback( feedback[ action ], 'loading' );
     1142                        }
     1143
    11171144                        bp.Nouveau.Messages.threads.doAction( action, this.model.get( 'id' ), options ).done( function( response ) {
    11181145                                // Remove all views
    11191146                                if ( 'delete' === action ) {
    window.bp = window.bp || {}; 
    11221149                                        self.model.set( _.first( response.messages ) );
    11231150                                }
    11241151
     1152                                // Remove previous feedback.
     1153                                bp.Nouveau.Messages.removeFeedback();
     1154
    11251155                                // Display the feedback
    11261156                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    11271157                        } ).fail( function( response ) {
     1158                                // Remove previous feedback.
     1159                                bp.Nouveau.Messages.removeFeedback();
     1160
    11281161                                bp.Nouveau.Messages.displayFeedback( response.feedback, response.type );
    11291162                        } );
    11301163                }