Skip to content

Instantly share code, notes, and snippets.

View arqex's full-sized avatar
💭
Bootstraping project faster allows to do more things!

Javier Marquez arqex

💭
Bootstraping project faster allows to do more things!
View GitHub Profile
@arqex
arqex / messageReceivedEvent.js
Created May 16, 2017 21:49
Message receive
// In our socket event handlers file
socket.on('messageReceived', message => {
freezer.emit('message:received', message);
});
// In our message reactions file
freezer.on('message:received', message => {
freezer.get().messages.push( message );
})
@arqex
arqex / returningReaction.js
Last active May 16, 2017 14:53
Returning reaction
// We can return the promise from our reaction
freezer.on('message:send', text => {
freezer.get().set({status: 'SENDING'});
// Return the promise
return Ajax.post('/messages', {text: text} )
.then( msg => {
freezer.get()
.set({status: 'READY'})
.messages.push(msg)
@arqex
arqex / messageReaction2.js
Created May 16, 2017 08:00
Message reaction 2
freezer.on('message:loadAll', () => {
freezer.get().set({status: 'LOADING'});
Ajax.get('/messages').then( messages => {
freezer.get.set({
status: 'READY',
messages: messages
});
// Some other reactions might be listening to this
@arqex
arqex / Messages.js
Created May 16, 2017 07:54
Messages component
class Messages extends React.Component({
render(){
if( this.props.store.status === 'LOADING' ){
return this.renderLoading();
}
else {
return this.renderReady();
}
}
});
@arqex
arqex / messageLoadReaction.js
Created May 16, 2017 07:51
Message load reactio
freezer.on('message:loadAll', () => {
// Let the app know we are loading stuff
freezer.get().set({status: 'LOADING'});
Ajax.get('/messages').then( messages => {
freezer.get.set({
status: 'READY', // We are ready again!
messages: messages
});
@arqex
arqex / updateUserReaction3.js
Created May 15, 2017 15:21
update User reactions 3
const me = () => freezer.get().me;
freezer.on( 'user:update', update => {
me().set({name: update.name});
if( update.hobbies ){
me().set({hobbies: update.hobbies});
}
});
@arqex
arqex / userReactions2.js
Last active May 15, 2017 15:20
User reactions with helper
// I call the helper `d` after the concept `domain`.
const d = () => freezer.get().user;
freezer.on('user:create', user => {
d().set(user.id, user);
});
freezer.on('user:update', (id, update) => {
d()[id].set(update);
});
@arqex
arqex / updateUserReaction2.js
Created May 15, 2017 15:12
Update user reactions 2
freezer.on('user:update', update => {
var me1 = freezer.get().me;
var me2 = me.set({name: update.name});
if( update.hobbies ){
me2.set({hobbies: update.hobbies});
}
}
@arqex
arqex / updateUserReaction.js
Last active May 15, 2017 15:02
update user reactio
freezer.on( 'user:update', update => {
var me1 = freezer.get().me;
me1.set({name: update.name});
if( update.hobbies ){
me1.set({hobbies: update.hobbies});
}
});
@arqex
arqex / userReactions.js
Created May 14, 2017 10:53
User reactions
freezer.on('user:create', user => {
freezer.get().users.set(user.id, user);
});
freezer.on('user:update', (id, update) => {
freezer.get().users[id].set(update);
});
freezer.on('user:delete', id => {
freezer.get().users.remove(id);