diff options
author | kibigo! <marrus-sh@users.noreply.github.com> | 2017-11-17 19:11:18 -0800 |
---|---|---|
committer | kibigo! <marrus-sh@users.noreply.github.com> | 2017-11-17 19:29:16 -0800 |
commit | 45c44989c8fb6e24badd18bb83ac5f68de0aceaf (patch) | |
tree | 794d088986d8518506e3e1eec0c8ffb7da5604b8 /app/javascript/themes/glitch/containers/notification_purge_buttons_container.js | |
parent | 5a9982b425d3db65d813eb0314a27cea16f0f52d (diff) |
Forking glitch theme
Diffstat (limited to 'app/javascript/themes/glitch/containers/notification_purge_buttons_container.js')
-rw-r--r-- | app/javascript/themes/glitch/containers/notification_purge_buttons_container.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/app/javascript/themes/glitch/containers/notification_purge_buttons_container.js b/app/javascript/themes/glitch/containers/notification_purge_buttons_container.js new file mode 100644 index 000000000..ee4cb84cd --- /dev/null +++ b/app/javascript/themes/glitch/containers/notification_purge_buttons_container.js @@ -0,0 +1,49 @@ +// Package imports. +import { connect } from 'react-redux'; +import { defineMessages, injectIntl } from 'react-intl'; + +// Our imports. +import NotificationPurgeButtons from 'themes/glitch/components/notification_purge_buttons'; +import { + deleteMarkedNotifications, + enterNotificationClearingMode, + markAllNotifications, +} from 'themes/glitch/actions/notifications'; +import { openModal } from 'themes/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)); |