summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/react/components/msg_typing.jsx13
-rw-r--r--web/react/stores/channel_store.jsx13
2 files changed, 22 insertions, 4 deletions
diff --git a/web/react/components/msg_typing.jsx b/web/react/components/msg_typing.jsx
index 9d3904757..3b97fb2ef 100644
--- a/web/react/components/msg_typing.jsx
+++ b/web/react/components/msg_typing.jsx
@@ -1,7 +1,7 @@
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
// See License.txt for license information.
-
+var ChannelStore = require('../stores/channel_store.jsx');
var SocketStore = require('../stores/socket_store.jsx');
var UserStore = require('../stores/user_store.jsx');
@@ -9,12 +9,17 @@ module.exports = React.createClass({
timer: null,
lastTime: 0,
componentDidMount: function() {
- SocketStore.addChangeListener(this._onChange);
+ ChannelStore.addDiffChannelChangeListener(this._onChange);
+ SocketStore.addChangeListener(this._onSocketChange);
},
componentWillUnmount: function() {
- SocketStore.removeChangeListener(this._onChange);
+ ChannelStore.removeDiffCHannelChangeListener(this._onChange);
+ SocketStore.removeChangeListener(this._onSocketChange);
+ },
+ _onChange: function() {
+ this.setState({text:""})
},
- _onChange: function(msg) {
+ _onSocketChange: function(msg) {
if (msg.action == "typing" &&
this.props.channelId == msg.channel_id &&
this.props.parentId == msg.props.parent_id) {
diff --git a/web/react/stores/channel_store.jsx b/web/react/stores/channel_store.jsx
index 3f259bc7d..3713999a6 100644
--- a/web/react/stores/channel_store.jsx
+++ b/web/react/stores/channel_store.jsx
@@ -12,6 +12,7 @@ var ActionTypes = Constants.ActionTypes;
var CHANGE_EVENT = 'change';
var MORE_CHANGE_EVENT = 'change';
var EXTRA_INFO_EVENT = 'extra_info';
+var DIFF_CHANNEL_EVENT = 'change_channel';
var ChannelStore = assign({}, EventEmitter.prototype, {
emitChange: function() {
@@ -23,6 +24,15 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
removeChangeListener: function(callback) {
this.removeListener(CHANGE_EVENT, callback);
},
+ emitDiffChannelChange: function() {
+ this.emit(DIFF_CHANNEL_EVENT);
+ },
+ addDiffChannelChangeListener: function(callback) {
+ this.on(DIFF_CHANNEL_EVENT,callback);
+ },
+ removeDiffChannelChangeListener: function(callback) {
+ this.removeListener(DIFF_CHANNEL_EVENT,callback);
+ },
emitMoreChange: function() {
this.emit(MORE_CHANGE_EVENT);
},
@@ -218,6 +228,8 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
ChannelStore.dispatchToken = AppDispatcher.register(function(payload) {
var action = payload.action;
+ //console.log(payload);
+ //console.log(action.type + " " + (action.msg ? action.msg.action : ""))
switch(action.type) {
@@ -225,6 +237,7 @@ ChannelStore.dispatchToken = AppDispatcher.register(function(payload) {
ChannelStore.setCurrentId(action.id);
ChannelStore.setLastVisitedName(action.name);
ChannelStore.resetCounts(action.id);
+ ChannelStore.emitDiffChannelChange();
ChannelStore.emitChange();
break;