Ability to hide playlist

This commit is contained in:
calzoneman 2014-02-17 19:06:49 -06:00
parent 6292ca5f3f
commit 6e0f27f254
4 changed files with 33 additions and 5 deletions

View File

@ -46,6 +46,7 @@ function Channel(name) {
self.poll = null;
self.voteskip = null;
self.permissions = {
seeplaylist: -1, // See the playlist
playlistadd: 1.5, // Add video to the playlist
playlistnext: 1.5,
playlistmove: 1.5, // Move a video on the playlist
@ -1062,10 +1063,12 @@ Channel.prototype.sendPlaylist = function (users) {
}
users.forEach(function (u) {
u.socket.emit("playlist", pl);
u.socket.emit("setPlaylistMeta", self.plmeta);
if (current !== null) {
u.socket.emit("setCurrent", current);
if (self.hasPermission(u, "seeplaylist")) {
u.socket.emit("playlist", pl);
u.socket.emit("setPlaylistMeta", self.plmeta);
if (current !== null) {
u.socket.emit("setCurrent", current);
}
}
});
};
@ -1096,7 +1099,9 @@ Channel.prototype.updatePlaylistMeta = function () {
Channel.prototype.sendPlaylistMeta = function (users) {
var self = this;
users.forEach(function (u) {
u.socket.emit("setPlaylistMeta", self.plmeta);
if (self.hasPermission(u, "seeplaylist")) {
u.socket.emit("setPlaylistMeta", self.plmeta);
}
});
};
@ -2619,6 +2624,10 @@ Channel.prototype.handleSetPermissions = function (user, perms) {
}
}
if ("seeplaylist" in perms) {
this.sendPlaylist(this.users);
}
this.logger.log("[mod] " + user.name + " updated permissions");
this.sendAll("setPermissions", this.permissions);
};

View File

@ -790,6 +790,10 @@ Callbacks = {
},
changeMedia: function(data) {
if ($("body").hasClass("chatOnly")) {
return;
}
if (PLAYER && typeof PLAYER.getVolume === "function") {
PLAYER.getVolume(function (v) {
if (typeof v === "number") {
@ -848,6 +852,10 @@ Callbacks = {
},
mediaUpdate: function(data) {
if ($("body").hasClass("chatOnly")) {
return;
}
handleMediaUpdate(data);
},

View File

@ -888,6 +888,9 @@ function handlePermissionChange() {
setVisible("#adminflair", CLIENT.rank >= 255);
setVisible("#guestlogin", CLIENT.rank < 0);
setVisible("#chatline", CLIENT.rank >= 0);
setVisible("#queue", hasPermission("seeplaylist"));
setVisible("#plmeta", hasPermission("seeplaylist"));
$("#getplaylist").attr("disabled", !hasPermission("seeplaylist"));
setVisible("#showmediaurl", hasPermission("playlistadd"));
setVisible("#showcustomembed", hasPermission("playlistaddcustom"));
@ -1617,6 +1620,7 @@ function genPermissionsEditor() {
makeOption("Queue playlist", "oplaylistaddlist", standard, CHANNEL.perms.oplaylistaddlist+"");
addDivider("General playlist permissions");
makeOption("View the playlist", "seeplaylist", standard, CHANNEL.perms.seeplaylist+"");
makeOption("Add to playlist", "playlistadd", standard, CHANNEL.perms.playlistadd+"");
makeOption("Add/move to next", "playlistnext", standard, CHANNEL.perms.playlistnext+"");
makeOption("Move playlist items", "playlistmove", standard, CHANNEL.perms.playlistmove+"");

View File

@ -505,6 +505,13 @@ li.ui-sortable-helper, li.ui-sortable-placeholder + li.queue_entry {
position: fixed;
bottom: 0;
z-index: 10000;
min-width: 100%;
}
body.chatOnly .pm-panel, body.chatOnly .pm-panel-placeholder {
margin-left: 0;
margin-right: 5px;
float: right;
}
.pm-panel, .pm-panel-placeholder {