thelounge/src/plugins/irc-events/topic.js
Olli Mäntylä 4293336f3e Move escaping of topic and improve UI for long topics
- Data should be handled as is and only do the escaping on
the view/template or wherever it is used and escaping is necessary.
Keeps things simple and the focus of escaping values in the right place.
- Remove topic capitalization
- For long topics: hide overflow and add a title to topic span
- Also, simplify the code a tiny bit.
2015-10-03 17:04:05 +03:00

33 lines
699 B
JavaScript

var _ = require("lodash");
var Msg = require("../../models/msg");
module.exports = function(irc, network) {
var client = this;
irc.on("topic", function(data) {
var chan = _.findWhere(network.channels, {name: data.channel});
if (typeof chan === "undefined") {
return;
}
var from = data.nick || chan.name;
var topic = data.topic;
var msg = new Msg({
type: Msg.Type.TOPIC,
mode: chan.getMode(from),
from: from,
text: topic,
self: (from.toLowerCase() === irc.me.toLowerCase())
});
chan.messages.push(msg);
client.emit("msg", {
chan: chan.id,
msg: msg
});
chan.topic = topic;
client.emit("topic", {
chan: chan.id,
topic: chan.topic
});
});
};