From a885d1c9104a578a6667b230841e3466abd53fdb Mon Sep 17 00:00:00 2001 From: Darren Date: Fri, 28 Nov 2014 18:33:11 +0000 Subject: [PATCH] channel:join + channel:leave plugin events --- client/src/models/network.js | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/client/src/models/network.js b/client/src/models/network.js index edd23a4..f4f46f2 100644 --- a/client/src/models/network.js +++ b/client/src/models/network.js @@ -344,7 +344,11 @@ hostname: event.hostname, user_prefixes: this.get('user_prefixes') }); - members.add(user, {kiwi: event}); + + _kiwi.global.events.emit('channel:join', {channel: event.channel, user: user}) + .then(function() { + members.add(user, {kiwi: event}); + }); } @@ -372,7 +376,10 @@ user = members.getByNick(event.nick); if (!user) return; - members.remove(user, {kiwi: part_options}); + _kiwi.global.events.emit('channel:leave', {channel: event.channel, user: user, type: 'part', message: part_options.message}) + .then(function() { + members.remove(user, {kiwi: part_options}); + }); } @@ -398,7 +405,10 @@ if (panel.isChannel()) { member = panel.get('members').getByNick(event.nick); if (member) { - panel.get('members').remove(member, {kiwi: quit_options}); + _kiwi.global.events.emit('channel:leave', {channel: panel.get('name'), user: member, type: 'quit', message: part_options.message}) + .then(function() { + panel.get('members').remove(member, {kiwi: quit_options}); + }); } } }); @@ -427,11 +437,14 @@ if (!user) return; - members.remove(user, {kiwi: part_options}); + _kiwi.global.events.emit('channel:leave', {channel: event.channel, user: user, type: 'kick', message: part_options.message}) + .then(function() { + members.remove(user, {kiwi: part_options}); - if (part_options.current_user_kicked) { - members.reset([]); - } + if (part_options.current_user_kicked) { + members.reset([]); + } + }); } -- 2.25.1