Skip to:
Content

BuddyPress.org

Changeset 12071


Ignore:
Timestamp:
05/09/2018 02:10:13 PM (7 years ago)
Author:
imath
Message:

BP Nouveau-Messages UI: ask the user to wait until bulk action is done

Fixes #7626

Location:
trunk/src/bp-templates/bp-nouveau
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-templates/bp-nouveau/includes/messages/functions.php

    r12067 r12071  
    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' => __( 'Deleting 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
  • trunk/src/bp-templates/bp-nouveau/js/buddypress-messages.js

    r12058 r12071  
    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 ) {
     
    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
     
    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            } );
     
    931942
    932943        doBulkAction: function( event ) {
    933             var self = this, options = {}, ids, attr = 'id';
     944            var self = this, options = {}, ids, attr = 'id',
     945                feedback = BP_Nouveau.messages.doingAction;
    934946
    935947            event.preventDefault();
     
    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
     
    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            } );
     
    10881110
    10891111        doAction: function( event ) {
    1090             var action = $( event.currentTarget ).data( 'bp-action' ), self = this, options = {};
     1112            var action = $( event.currentTarget ).data( 'bp-action' ), self = this, options = {},
     1113                feedback = BP_Nouveau.messages.doingAction;
    10911114
    10921115            if ( ! action ) {
     
    11131136                $( event.currentTarget ).parent().find( '[data-bp-action="' + opposite[ action ] + '"]' ).removeClass( 'bp-hide' );
    11141137
     1138            }
     1139
     1140            if ( ! _.isUndefined( feedback[ action ] ) ) {
     1141                bp.Nouveau.Messages.displayFeedback( feedback[ action ], 'loading' );
    11151142            }
    11161143
     
    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            } );
Note: See TracChangeset for help on using the changeset viewer.