49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
//  Package imports.
 | 
						|
import { connect } from 'react-redux';
 | 
						|
import { defineMessages, injectIntl } from 'react-intl';
 | 
						|
 | 
						|
//  Our imports.
 | 
						|
import NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';
 | 
						|
import {
 | 
						|
  deleteMarkedNotifications,
 | 
						|
  enterNotificationClearingMode,
 | 
						|
  markAllNotifications,
 | 
						|
} from 'flavours/glitch/actions/notifications';
 | 
						|
import { openModal } from 'flavours/glitch/actions/modal';
 | 
						|
 | 
						|
const messages = defineMessages({
 | 
						|
  clearMessage: { id: 'notifications.marked_clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all selected notifications?' },
 | 
						|
  clearConfirm: { id: 'notifications.marked_clear', defaultMessage: 'Clear selected notifications' },
 | 
						|
});
 | 
						|
 | 
						|
const mapDispatchToProps = (dispatch, { intl }) => ({
 | 
						|
  onEnterCleaningMode(yes) {
 | 
						|
    dispatch(enterNotificationClearingMode(yes));
 | 
						|
  },
 | 
						|
 | 
						|
  onDeleteMarked() {
 | 
						|
    dispatch(openModal('CONFIRM', {
 | 
						|
      message: intl.formatMessage(messages.clearMessage),
 | 
						|
      confirm: intl.formatMessage(messages.clearConfirm),
 | 
						|
      onConfirm: () => dispatch(deleteMarkedNotifications()),
 | 
						|
    }));
 | 
						|
  },
 | 
						|
 | 
						|
  onMarkAll() {
 | 
						|
    dispatch(markAllNotifications(true));
 | 
						|
  },
 | 
						|
 | 
						|
  onMarkNone() {
 | 
						|
    dispatch(markAllNotifications(false));
 | 
						|
  },
 | 
						|
 | 
						|
  onInvert() {
 | 
						|
    dispatch(markAllNotifications(null));
 | 
						|
  },
 | 
						|
});
 | 
						|
 | 
						|
const mapStateToProps = state => ({
 | 
						|
  markNewForDelete: state.getIn(['notifications', 'markNewForDelete']),
 | 
						|
});
 | 
						|
 | 
						|
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(NotificationPurgeButtons));
 |