Cleaned up action naming and handling

This commit is contained in:
khlieng 2015-01-22 00:14:28 +01:00
parent e1cb8c468d
commit 43a725c662
9 changed files with 129 additions and 139 deletions

View file

@ -1,47 +1,54 @@
var Reflux = require('reflux');
var _ = require('lodash');
var sock = require('../socket.js')('/ws');
var socket = require('../socket.js');
var channelActions = Reflux.createActions([
'join',
'joined',
'part',
'parted',
'quit',
'addUser',
'removeUser',
'removeUserAll',
'setUsers',
'setTopic',
'load'
]);
channelActions.join.preEmit = function(data) {
sock.send('join', data);
channelActions.join.preEmit = function(channels, server) {
socket.send('join', {
server: server,
channels: channels
});
};
channelActions.part.preEmit = function(data) {
sock.send('part', data);
channelActions.part.preEmit = function(channels, server) {
socket.send('part', {
server: server,
channels: channels
});
};
sock.on('join', function(data) {
channelActions.joined(data.user, data.server, data.channels[0]);
socket.on('join', function(data) {
channelActions.addUser(data.user, data.server, data.channels[0]);
});
sock.on('part', function(data) {
channelActions.parted(data.user, data.server, data.channels[0]);
socket.on('part', function(data) {
channelActions.removeUser(data.user, data.server, data.channels[0]);
});
sock.on('quit', function(data) {
channelActions.quit(data.user, data.server);
socket.on('quit', function(data) {
channelActions.removeUserAll(data.user, data.server);
});
sock.on('users', function(data) {
socket.on('users', function(data) {
channelActions.setUsers(data.users, data.server, data.channel);
});
sock.on('topic', function(data) {
socket.on('topic', function(data) {
channelActions.setTopic(data.topic, data.server, data.channel);
});
sock.on('channels', function(data) {
socket.on('channels', function(data) {
channelActions.load(data);
});

View file

@ -1,19 +1,57 @@
var Reflux = require('reflux');
var sock = require('../socket.js')('/ws');
var socket = require('../socket.js');
var messageActions = Reflux.createActions([
'send',
'add',
'selectTab'
'add'
]);
messageActions.send.preEmit = function(message, to, server) {
sock.send('chat', {
socket.send('chat', {
server: server,
to: to,
message: message
});
};
socket.on('message', function(data) {
messageActions.add(data);
});
socket.on('pm', function(data) {
messageActions.add(data);
});
socket.on('join', function(data) {
messageActions.add({
server: data.server,
from: '',
to: data.channels[0],
message: data.user + ' joined the channel',
type: 'info'
});
});
socket.on('part', function(data) {
messageActions.add({
server: data.server,
from: '',
to: data.channels[0],
message: data.user + ' left the channel',
type: 'info'
});
});
socket.on('motd', function(data) {
_.each(data.content.split('\n'), function(line) {
messageActions.add({
server: data.server,
from: '',
to: data.server,
message: line
});
});
});
module.exports = messageActions;

View file

@ -1,14 +1,22 @@
var Reflux = require('reflux');
var sock = require('../socket.js')('/ws');
var socket = require('../socket.js')('/ws');
var serverActions = Reflux.createActions([
'connect',
'disconnect'
]);
serverActions.connect.preEmit = function(data) {
sock.send('connect', data);
serverActions.connect.preEmit = function(server, nick, username) {
socket.send('connect', {
server: server,
nick: nick,
username: username
});
};
serverActions.disconnect.preEmit = function(server) {
socket.send('quit', { server: server });
};
module.exports = serverActions;