Skip to content

Commit 39e8496

Browse files
authored
Merge pull request #2 from pitaj/master
emoji v2 support
2 parents defaedf + 7f033d3 commit 39e8496

4 files changed

Lines changed: 21 additions & 16 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

lib/client.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,21 @@ $(document).ready(function () {
3434
var reactionAddEl = $(this);
3535
var tid = $('[component="topic"]').attr("data-tid");
3636
var pid = reactionAddEl.attr("data-pid");
37-
require(['plugin/emoji-extended/composer/modal'], function (modal) {
38-
modal.open().then(function (item) {
37+
require(['emoji-dialog'], function (emojiDialog) {
38+
emojiDialog.toggle(reactionAddEl[0], function (e, name, dialog) {
39+
emojiDialog.dialogActions.close(dialog);
40+
3941
socket.emit('plugins.reactions.addPostReaction', {
4042
tid: tid,
4143
pid: pid,
42-
reaction: item.id
44+
reaction: name
4345
}, function (err) {
4446
if (err) {
4547
app.alertError(err.message);
48+
throw err;
4649
}
4750

48-
$('[component="post/reaction"][data-pid="' + pid + '"][data-reaction="' + item.id + '"]').addClass("reacted");
51+
$('[component="post/reaction"][data-pid="' + pid + '"][data-reaction="' + name + '"]').addClass("reacted");
4952
});
5053
});
5154
});

library.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,14 @@ var db = module.parent.require('./database');
66
var SocketPlugins = module.parent.require('./socket.io/plugins');
77
var websockets = module.parent.require('./socket.io/index');
88
var async = require('async');
9-
var emojiParser = require('../nodebb-plugin-emoji-extended/lib/parser/main');
9+
var emojiParser = require('nodebb-plugin-emoji/build/lib/parse');
10+
var emojiTable = require('nodebb-plugin-emoji/build/emoji/table.json');
1011
var reactions = {};
1112

13+
function parse(name) {
14+
return emojiParser.buildEmoji(emojiTable[name], '');
15+
}
16+
1217
reactions.init = function (params, callback) {
1318

1419
SocketPlugins.reactions = {
@@ -17,11 +22,8 @@ reactions.init = function (params, callback) {
1722
return callback(new Error('[[error:not-logged-in]]'));
1823
}
1924

20-
var emojiList = Object.keys(emojiParser.activeList).map(function (item) {
21-
return emojiParser.activeList[item].id;
22-
});
2325

24-
if (emojiList.indexOf(data.reaction) === -1) {
26+
if (!emojiTable[data.reaction]) {
2527
return callback(new Error('Invalid reaction'));
2628
}
2729

@@ -54,11 +56,7 @@ reactions.init = function (params, callback) {
5456
return callback(new Error('[[error:not-logged-in]]'));
5557
}
5658

57-
var emojiList = Object.keys(emojiParser.activeList).map(function (item) {
58-
return emojiParser.activeList[item].id;
59-
});
60-
61-
if (emojiList.indexOf(data.reaction) === -1) {
59+
if (!emojiTable[data.reaction]) {
6260
return callback(new Error('Invalid reaction'));
6361
}
6462

@@ -109,7 +107,7 @@ reactions.init = function (params, callback) {
109107
reactionCount: results.reactionCount,
110108
totalReactions: results.totalReactions,
111109
usernames: results.usernames,
112-
reactionImage: emojiParser.parse(':' + data.reaction + ':').replace('title="' + data.reaction + '"', '')
110+
reactionImage: parse(data.reaction),
113111
});
114112
callback();
115113
});
@@ -198,7 +196,7 @@ reactions.getReactions = function (data, callback) {
198196
return user.username
199197
}).join(', ');
200198

201-
var reactionImage = emojiParser.parse(':' + reaction.reaction + ':').replace('title="' + reaction + '"', '');
199+
var reactionImage = parse(reaction.reaction);
202200
var reacted = reaction.reacted ? 'reacted' : '';
203201
reactionInfo = reactionInfo + '<span class="reaction ' + reacted + '" component="post/reaction" data-pid="' + post.pid + '" data-reaction="' + reaction.reaction + '" title="' + usernames + '">' + reactionImage + '<span class="reaction-emoji-count" data-count="' + reaction.memberCount + '"></span></span>';
204202
});

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,8 @@
3131
"dependencies": {
3232
"async": "^2.1.4"
3333
},
34+
"peerDependencies": {
35+
"nodebb-plugin-emoji": "^2.2.0"
36+
},
3437
"license": "MIT"
3538
}

0 commit comments

Comments
 (0)