mirror of
https://github.com/calzoneman/sync.git
synced 2024-09-13 04:32:09 +00:00
150 lines
4.0 KiB
JavaScript
150 lines
4.0 KiB
JavaScript
/* Generalized show/hide function */
|
|
function generateToggle(chevron, div) {
|
|
$(chevron).click(function() {
|
|
if($(div).css("display") == "none") {
|
|
$(div).show();
|
|
$(chevron+" i").removeClass("icon-chevron-down")
|
|
.addClass("icon-chevron-up");
|
|
}
|
|
else {
|
|
$(div).hide();
|
|
$(chevron+" i").removeClass("icon-chevron-up")
|
|
.addClass("icon-chevron-down");
|
|
}
|
|
});
|
|
}
|
|
|
|
/* setup show/hide toggles */
|
|
generateToggle("#usercountwrap", "#userlist");
|
|
generateToggle("#librarytoggle", "#librarywrap");
|
|
generateToggle("#userpltoggle", "#userplaylistwrap");
|
|
generateToggle("#playlisttoggle", "#playlist_controls");
|
|
|
|
/* navbar stuff */
|
|
$("#optlink").click(showOptionsMenu);
|
|
$("#guestlogin").click(function() {
|
|
socket && socket.emit("login", {
|
|
name: $("#guestname").val(),
|
|
});
|
|
});
|
|
$("#login").click(showLoginMenu);
|
|
$("#logout").click(function() {
|
|
eraseCookie("cytube_name");
|
|
eraseCookie("cytube_session");
|
|
document.ocation.reload(true);
|
|
});
|
|
|
|
/* chatbox */
|
|
$("#chatline").keyDown(function(ev) {
|
|
if(ev.keyCode == 13) {
|
|
var msg = $("#chatline").val();
|
|
if(msg.trim()) {
|
|
if(USEROPTS.modhat && CLIENT.rank >= Rank.Moderator) {
|
|
msg = "/m " + msg;
|
|
}
|
|
socket.emit("chatMsg", {
|
|
msg: msg
|
|
});
|
|
CHATHIST.push($("#chatline").val());
|
|
CHATLISTIDX = CHATHIST.length;
|
|
$("#chatline").val("");
|
|
}
|
|
return;
|
|
}
|
|
else if(ev.keyCode == 9) {
|
|
var words = $("#chatline").val().split(" ");
|
|
var current = words[words.length - 1].toLowerCase();
|
|
var users = $("#userlist").children();
|
|
var match = null;
|
|
for(var i = 0; i < users.length; i++) {
|
|
var name = users[i].children[1].innerHTML.toLowerCase();
|
|
if(name.indexOf(current) == 0 && match == null) {
|
|
match = users[i].children[1].innerHTML;
|
|
}
|
|
else if(name.indexOf(current) == 0) {
|
|
match = null;
|
|
break;
|
|
}
|
|
}
|
|
if(match != null) {
|
|
words[words.length - 1] = match;
|
|
if(words.length == 1)
|
|
words[0] += ": ";
|
|
else
|
|
words[words.length - 1] += " ";
|
|
$("#chatline").val(words.join(" "));
|
|
}
|
|
ev.preventDefault();
|
|
return false;
|
|
}
|
|
else if(ev.keyCode == 38) {
|
|
if(CHATHISTIDX == CHATHIST.length) {
|
|
CHATHIST.push($("#chatline").val());
|
|
}
|
|
if(CHATHISTIDX > 0) {
|
|
CHATHISTIDX--;
|
|
$("#chatline").val(CHATHIST[CHATHISTIDX]);
|
|
}
|
|
|
|
ev.preventDefault();
|
|
return false;
|
|
}
|
|
else if(ev.keyCode == 40) {
|
|
if(CHATHISTIDX < CHATHIST.length - 1) {
|
|
CHATHISTIDX++;
|
|
$("#chatline").val(CHATHIST[CHATHISTIDX]);
|
|
}
|
|
|
|
ev.preventDefault();
|
|
return false;
|
|
}
|
|
});
|
|
|
|
/* poll controls */
|
|
$("#newpollbtn").click(showPollMenu);
|
|
|
|
/* search controls */
|
|
$("#library_search").click(function() {
|
|
socket.emit("searchMedia", {
|
|
source: "library",
|
|
query: $("#library_query").val().toLowerCase()
|
|
});
|
|
});
|
|
|
|
$("#library_query").keydown(function(ev) {
|
|
if(ev.keyCode == 13) {
|
|
socket.emit("searchMedia", {
|
|
source: "library",
|
|
query: $("#library_query").val().toLowerCase()
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
$("#youtube_search").click(function() {
|
|
socket.emit("searchMedia", {
|
|
source: "yt",
|
|
query: $("#library_query").val().toLowerCase()
|
|
});
|
|
});
|
|
|
|
/* user playlists */
|
|
|
|
$("#userpltoggle").click(function() {
|
|
socket.emit("listPlaylists");
|
|
});
|
|
|
|
$("#userpl_save").click(function() {
|
|
if($("#userpl_name").val().trim() == "") {
|
|
makeAlert("Invalid Name", "Playlist name cannot be empty", "alert-error")
|
|
.addClass("span12")
|
|
.insertAfter($("#userpl_save").parent());
|
|
return;
|
|
}
|
|
socket.emit("savePlaylist", {
|
|
name: $("#userpl_name").val()
|
|
});
|
|
});
|
|
|
|
/* playlist controls */
|