var CandyShop = (function(self) { return self; }(CandyShop || {}));
CandyShop.MeDoes = (function(self, Candy, $) {
// CandyShop.Timeago
self.init = function() {
$(Candy).on("candy:view.message.before-show", function(e, args) {
if (args && args.message && args.message.match(/^\/me /i)) {
var message = args.message.match(/^\/([^\s]+)(?:\s+(.*))?$/m)[2];
self.userInfoMessage(args.roomJid, args.name, message);
return false;
}
});
};
if(CandyShop.Timeago === undefined) {
Candy.View.Template.Chat.userInfoMessage = '
{{time}}' +
'• {{name}} {{{message}}}
';
}
else {
Candy.View.Template.Chat.userInfoMessage = '{{time}}' +
'• {{name}} {{{message}}}
';
}
//Using logic from real infoMessage function and inserting custom template
self.userInfoMessage = function (roomJid, name, message){
if(Candy.View.getCurrent().roomJid) {
var html = Mustache.to_html(Candy.View.Template.Chat.userInfoMessage, {
name: name,
message: message,
time: Candy.Util.localizedTime(new Date().toGMTString())
});
Candy.View.Pane.Room.appendToMessagePane(roomJid, html);
if (Candy.View.getCurrent().roomJid === roomJid) {
Candy.View.Pane.Room.scrollToBottom(Candy.View.getCurrent().roomJid);
}
$(Candy).triggerHandler('candy:view.message.after-show', {
'message' : message
});
}
};
return self;
}(CandyShop.MeDoes || {}, Candy, jQuery));