Switch to redux and webpack
This commit is contained in:
parent
b247287075
commit
e389454535
97 changed files with 2722 additions and 2656 deletions
|
@ -1,19 +1,77 @@
|
|||
var Reflux = require('reflux');
|
||||
import * as actions from '../actions';
|
||||
|
||||
var socket = require('../socket');
|
||||
export function sendMessage(message, to, server) {
|
||||
return (dispatch, getState) => {
|
||||
return dispatch({
|
||||
type: actions.SEND_MESSAGE,
|
||||
from: getState().servers.getIn([server, 'nick']),
|
||||
message,
|
||||
to,
|
||||
server,
|
||||
time: new Date(),
|
||||
socket: {
|
||||
type: 'chat',
|
||||
data: { message, to, server }
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
var messageActions = Reflux.createActions([
|
||||
'send',
|
||||
'add',
|
||||
'addAll',
|
||||
'broadcast',
|
||||
'inform',
|
||||
'command',
|
||||
'setWrapWidth'
|
||||
]);
|
||||
export function addMessage(message) {
|
||||
message.time = new Date();
|
||||
|
||||
messageActions.send.preEmit = (message, to, server) => {
|
||||
socket.send('chat', { server, to, message });
|
||||
};
|
||||
return {
|
||||
type: actions.ADD_MESSAGE,
|
||||
message
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = messageActions;
|
||||
export function addMessages(messages) {
|
||||
const now = new Date();
|
||||
messages.forEach(message => message.time = now);
|
||||
|
||||
return {
|
||||
type: actions.ADD_MESSAGES,
|
||||
messages
|
||||
};
|
||||
}
|
||||
|
||||
export function broadcast(message, server, channels) {
|
||||
return addMessages(channels.map(channel => {
|
||||
return {
|
||||
server,
|
||||
to: channel,
|
||||
message,
|
||||
type: 'info'
|
||||
};
|
||||
}));
|
||||
}
|
||||
|
||||
export function inform(message, server, channel) {
|
||||
if (Array.isArray(message)) {
|
||||
return addMessages(message.map(msg => {
|
||||
return {
|
||||
server,
|
||||
to: channel,
|
||||
message: msg,
|
||||
type: 'info'
|
||||
};
|
||||
}));
|
||||
}
|
||||
|
||||
return addMessage({
|
||||
server,
|
||||
to: channel,
|
||||
message,
|
||||
type: 'info'
|
||||
});
|
||||
}
|
||||
|
||||
export function runCommand(command, channel, server) {
|
||||
return {
|
||||
type: actions.COMMAND,
|
||||
command,
|
||||
channel,
|
||||
server
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue