hardlounge/client/js/socket-events/network.js

64 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-05-18 16:08:54 -04:00
"use strict";
const $ = require("jquery");
const socket = require("../socket");
const sidebar = $("#sidebar");
const {vueApp, initChannel, findChannel} = require("../vue");
2017-05-18 16:08:54 -04:00
socket.on("network", function(data) {
2018-07-12 14:33:52 -04:00
const network = data.networks[0];
2017-05-18 16:08:54 -04:00
2018-07-12 15:06:17 -04:00
network.isJoinChannelShown = false;
network.isCollapsed = false;
network.channels.forEach(initChannel);
2018-07-12 15:06:17 -04:00
2018-07-12 14:33:52 -04:00
vueApp.networks.push(network);
2018-07-12 14:33:52 -04:00
vueApp.$nextTick(() => {
2019-07-17 05:33:59 -04:00
sidebar
.find(".chan")
.last()
.trigger("click");
});
2017-05-18 16:08:54 -04:00
$("#connect")
.find(".btn")
2017-09-12 08:52:16 -04:00
.prop("disabled", false);
2017-05-18 16:08:54 -04:00
});
2018-07-19 13:44:24 -04:00
socket.on("network:options", function(data) {
vueApp.networks.find((n) => n.uuid === data.network).serverOptions = data.serverOptions;
2017-05-18 16:08:54 -04:00
});
socket.on("network:status", function(data) {
const network = vueApp.networks.find((n) => n.uuid === data.network);
if (!network) {
return;
}
network.status.connected = data.connected;
network.status.secure = data.secure;
if (!data.connected) {
network.channels.forEach((channel) => {
channel.users = [];
channel.state = 0;
});
}
});
socket.on("channel:state", function(data) {
const channel = findChannel(data.chan);
if (channel) {
channel.channel.state = data.state;
}
});
socket.on("network:info", function(data) {
vueApp.$store.commit("currentNetworkConfig", data.defaults);
vueApp.$store.commit("activeWindow", "NetworkEdit");
vueApp.activeChannel = null;
});