jellyfin-web/dashboard-ui/scripts/playlist.js

108 lines
2.5 KiB
JavaScript
Raw Normal View History

2013-04-10 14:03:28 -07:00
(function (window) {
2013-04-08 13:46:59 -07:00
2013-04-10 14:03:28 -07:00
function playlist() {
var self = this;
2013-04-08 13:46:59 -07:00
if (typeof(self.queue) == 'undefined') {
self.queue = [];
}
2013-04-08 13:46:59 -07:00
2013-04-10 14:03:28 -07:00
self.add = function (item) {
2013-04-08 13:46:59 -07:00
self.queue.push(item);
2013-04-10 14:03:28 -07:00
};
2013-04-08 13:46:59 -07:00
2013-04-17 18:32:38 -07:00
self.remove = function (elem) {
var index = $(elem).attr("data-queue-index");
2013-04-10 10:11:23 -07:00
self.queue.splice(index, 1);
2013-04-17 18:32:38 -07:00
$(elem).parent().parent().remove();
return false;
2013-04-10 14:03:28 -07:00
};
2013-04-10 10:11:23 -07:00
self.play = function (elem) {
var index = $(elem).attr("data-queue-index");
2013-04-10 10:11:23 -07:00
MediaPlayer.play(new Array(self.queue[index]));
2013-04-17 18:32:38 -07:00
self.queue.splice(index, 1);
2013-04-10 14:03:28 -07:00
};
2013-04-10 10:11:23 -07:00
2013-05-02 20:48:19 -07:00
self.playNext = function (item) {
2013-04-17 18:32:38 -07:00
if (typeof self.queue[0] != "undefined") {
MediaPlayer.play(new Array(self.queue[0]));
self.queue.shift();
}
};
self.addNext = function (item) {
if (typeof self.queue[0] != "undefined") {
2013-05-02 20:48:19 -07:00
self.queue.unshift(item);
}else {
self.add(item);
2013-04-17 18:32:38 -07:00
}
};
self.inQueue = function (item) {
$.each(Playlist.queue, function(i, queueItem){
if (item.Id == queueItem.Id) {
return true;
}
});
return false;
};
2013-04-10 14:03:28 -07:00
return self;
}
2013-04-17 18:32:38 -07:00
2013-04-10 14:03:28 -07:00
window.Playlist = new playlist();
})(window);
(function ($, document) {
$(document).on('pagebeforeshow', "#playlistPage", function () {
var page = this;
Dashboard.showLoadingMsg();
2013-04-17 18:32:38 -07:00
$("#queueTable").html('');
$.each(Playlist.queue, function(i, item){
var html = '';
var name = item.Name;
if (item.IndexNumber != null) {
name = item.IndexNumber + " - " + name;
}
if (item.ParentIndexNumber != null) {
name = item.ParentIndexNumber + "." + name;
}
//$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
if (item.SeriesName || item.Album) {
var seriesName = item.SeriesName || item.Album;
}else {
var seriesName = item.ProductionYear;
}
html += '<tr>';
2013-04-17 18:32:38 -07:00
html += '<td><img src="css/images/media/playCircle.png" style="height: 28px;cursor:pointer;" data-queue-index="'+i+'" onclick="Playlist.play(this)" /></td>';
html += '<td>' + name + '</td>';
html += '<td>' + seriesName + '</td>';
html += '<td>' + ticks_to_human(item.RunTimeTicks) + '</td>';
2013-05-02 20:48:19 -07:00
html += '<td>' + LibraryBrowser.getUserDataIconsHtml(item) + '</td>';
2013-04-17 18:32:38 -07:00
html += '<td><a href="" data-queue-index="'+i+'" onclick="Playlist.remove(this)">remove</a></td>';
html += '</tr>';
$("#queueTable").append(html);
});
Dashboard.hideLoadingMsg();
});
})(jQuery, document);