thelounge/client/js/socket-events/join.js

37 lines
827 B
JavaScript
Raw Normal View History

2017-05-18 20:08:54 +00:00
"use strict";
const $ = require("jquery");
const socket = require("../socket");
const render = require("../render");
const chat = $("#chat");
const templates = require("../../views");
const sidebar = $("#sidebar");
const {Vue, vueApp} = require("../vue");
2017-05-18 20:08:54 +00:00
socket.on("join", function(data) {
vueApp.networks.find((n) => n.uuid === data.network)
.channels.splice(data.index || -1, 0, data.chan);
2017-05-18 20:08:54 +00:00
chat.append(
templates.chat({
channels: [data.chan],
2017-05-18 20:08:54 +00:00
})
);
Vue.nextTick(() => render.renderChannel(data.chan));
2017-05-18 20:08:54 +00:00
// Queries do not automatically focus, unless the user did a whois
if (data.chan.type === "query" && !data.shouldOpen) {
return;
}
Vue.nextTick(() => {
sidebar.find(".chan")
.sort(function(a, b) {
return $(a).data("id") - $(b).data("id");
})
.last()
.trigger("click");
});
2017-05-18 20:08:54 +00:00
});