From f0b74e78dde9a029e49e730d854b769a53756624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Roland?= Date: Wed, 21 Dec 2016 15:27:42 +0100 Subject: #4699 Move instances of Client.updateChannelNotifyProps() in components to an action (#4862) --- webapp/actions/channel_actions.jsx | 15 ++++++++++++++ webapp/components/channel_notifications_modal.jsx | 24 ++++++++++++----------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/webapp/actions/channel_actions.jsx b/webapp/actions/channel_actions.jsx index 12e58177d..ad2f315ee 100644 --- a/webapp/actions/channel_actions.jsx +++ b/webapp/actions/channel_actions.jsx @@ -260,3 +260,18 @@ export function autocompleteChannels(term, success, error) { } ); } + +export function updateChannelNotifyProps(data, success, error) { + Client.updateChannelNotifyProps(data, + () => { + if (success) { + success(); + } + }, + (err) => { + if (error) { + error(err); + } + } + ); +} diff --git a/webapp/components/channel_notifications_modal.jsx b/webapp/components/channel_notifications_modal.jsx index ff8ef94f7..58ab9143f 100644 --- a/webapp/components/channel_notifications_modal.jsx +++ b/webapp/components/channel_notifications_modal.jsx @@ -4,7 +4,6 @@ import SettingItemMin from 'components/setting_item_min.jsx'; import SettingItemMax from 'components/setting_item_max.jsx'; -import Client from 'client/web_client.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import $ from 'jquery'; @@ -12,6 +11,8 @@ import React from 'react'; import {Modal} from 'react-bootstrap'; import {FormattedMessage} from 'react-intl'; +import {updateChannelNotifyProps} from 'actions/channel_actions.jsx'; + export default class ChannelNotificationsModal extends React.Component { constructor(props) { super(props); @@ -47,26 +48,28 @@ export default class ChannelNotificationsModal extends React.Component { } handleSubmitNotifyLevel() { - var channelId = this.props.channel.id; - var notifyLevel = this.state.notifyLevel; + const channelId = this.props.channel.id; + const notifyLevel = this.state.notifyLevel; + const currentUserId = this.props.currentUser.id; if (this.props.channelMember.notify_props.desktop === notifyLevel) { this.updateSection(''); return; } - var data = {}; - data.channel_id = channelId; - data.user_id = this.props.currentUser.id; - data.desktop = notifyLevel; + const data = { + channel_id: channelId, + user_id: currentUserId, + desktop: notifyLevel + }; - //TODO: This should be moved to event_helpers - Client.updateChannelNotifyProps(data, + updateChannelNotifyProps(data, () => { // YUCK var member = ChannelStore.getMyMember(channelId); member.notify_props.desktop = notifyLevel; ChannelStore.storeMyChannelMember(member); + this.updateSection(''); }, (err) => { @@ -257,8 +260,7 @@ export default class ChannelNotificationsModal extends React.Component { mark_unread: markUnreadLevel }; - //TODO: This should be fixed, moved to actions - Client.updateChannelNotifyProps(data, + updateChannelNotifyProps(data, () => { // Yuck... var member = ChannelStore.getMyMember(channelId); -- cgit v1.2.3-1-g7c22