Skip to content

Commit 9940d93

Browse files
committed
move refreshUsers into UsersStore
1 parent 2e06daa commit 9940d93

File tree

4 files changed

+19
-21
lines changed

4 files changed

+19
-21
lines changed

src/ChatReact/ChatReact/Web.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
<appSettings>
1616
<add key="background" value="/img/bg.jpg" />
17+
<add key="DebugMode" value="True" />
1718
<add key="LimitRemoteControlToAuthenticatedUsers" value="False" />
1819

1920
<!-- Uncomment to use fan-out Redis Server Events -->

src/ChatReact/ChatReact/default.cshtml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,17 @@
3232
<script type="text/javascript">
3333
var AppData = {
3434
channel: "@channel",
35-
isAuthenticated: @IsAuthenticated.ToString().ToLower()
35+
isAuthenticated: @IsAuthenticated.ToString().ToLower(),
36+
channelSubscribersUrl: "/event-subscribers?channel=@channel"
3637
};
3738
</script>
3839
</head>
39-
<body>
40+
<body>
4041

4142
<div id="app"></div>
4243

4344
<!-- build:js js/app.jsx.js -->
44-
<script type="text/jsx" src="js/components/Actions.js"></script>
45+
<script type="text/javascript" src="js/components/Actions.js"></script>
4546
<script type="text/jsx" src="js/components/User.jsx"></script>
4647
<script type="text/jsx" src="js/components/Header.jsx"></script>
4748
<script type="text/jsx" src="js/components/Sidebar.jsx"></script>

src/ChatReact/ChatReact/js/components/Actions.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var Actions = Reflux.createActions([
33
"addMessages",
44
"removeAllMessages",
55
"recordMessage",
6-
"setUsers",
6+
"refreshUsers",
77
"showError",
88
"logError",
99
"announce",
@@ -50,9 +50,16 @@ var UsersStore = Reflux.createStore({
5050
this.listenToMany(Actions);
5151
this.users = [];
5252
},
53-
setUsers: function (users) {
54-
this.users = users;
55-
this.trigger(this.users);
53+
refreshUsers: function () {
54+
var $this = this;
55+
$.getJSON(AppData.channelSubscribersUrl, function (users) {
56+
var usersMap = {};
57+
$.map(users, function (user) {
58+
usersMap[user.userId] = user;
59+
});
60+
$this.users = $.map(usersMap, function (user) { return user; });
61+
$this.trigger($this.users);
62+
});
5663
}
5764
});
5865

src/ChatReact/ChatReact/js/components/ChatApp.jsx

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ var ChatApp = React.createClass({
4747
Actions.addMessages(r.results);
4848
});
4949

50-
$this.refreshUsers();
50+
Actions.refreshUsers();
5151
},
5252
onReconnect: function () {
5353
console.log("onReconnect", { newEventSource: this, errorArgs: arguments });
5454
},
55-
onJoin: this.refreshUsers,
56-
onLeave: this.refreshUsers,
55+
onJoin: Actions.refreshUsers,
56+
onLeave: Actions.refreshUsers,
5757
chat: function (m, e) {
5858
Actions.addMessages([m]);
5959
}
@@ -66,17 +66,6 @@ var ChatApp = React.createClass({
6666
}
6767
});
6868
},
69-
refreshUsers: function() {
70-
$.getJSON("/event-subscribers?channel=" + this.props.channel, function (users) {
71-
usersMap = {};
72-
$.map(users, function (user) {
73-
usersMap[user.userId] = user;
74-
});
75-
Actions.setUsers($.map(usersMap, function(user) {
76-
return user;
77-
}));
78-
});
79-
},
8069
onMessagesUpdate: function(messages) {
8170
var $this = this;
8271
this.setState({ messages: messages }, function(){

0 commit comments

Comments
 (0)