1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

add specialized get seasons method

This commit is contained in:
Luke Pulverenti 2013-11-28 13:27:29 -05:00
parent f5b62182b5
commit 878bad724a
20 changed files with 103 additions and 72 deletions

View file

@ -22,7 +22,7 @@
Dashboard.getCurrentUser().done(function (user) {
var imageHref = user.Configuration.IsAdministrator ? "edititemimages.html?id=" + item.Id : "";
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item, imageHref));
setInitialCollapsibleState(page, item, context, user);
@ -509,21 +509,32 @@
var promise;
if (item.Type == "Season" && item.IndexNumber != null) {
if (item.Type == "Series") {
promise = ApiClient.getEpisodes(item.SeriesId, {
promise = ApiClient.getSeasons(item.Id, {
season: item.IndexNumber,
userId: Dashboard.getCurrentUserId()
});
}
else if (item.Type == "Season" && item.IndexNumber != null) {
else if (item.Type == "Series" || item.Type == "Season") {
if (!user.Configuration.DisplayMissingEpisodes) {
query.IsMissing = false;
}
if (!user.Configuration.DisplayUnairedEpisodes) {
query.IsVirtualUnaired = false;
if (item.IndexNumber == null) {
// If there's no known season number, just use generic folder browsing
if (!user.Configuration.DisplayMissingEpisodes) {
query.IsMissing = false;
}
if (!user.Configuration.DisplayUnairedEpisodes) {
query.IsVirtualUnaired = false;
}
} else {
// Use dedicated episodes endpoint
promise = ApiClient.getEpisodes(item.SeriesId, {
season: item.IndexNumber,
userId: Dashboard.getCurrentUserId()
});
}
}
@ -607,7 +618,7 @@
var html = '';
var reviews = result.ItemReviews;
var reviews = result.Items;
for (var i = 0, length = reviews.length; i < length; i++) {

View file

@ -151,18 +151,12 @@
if (node == '-1') {
callback({ attr: { id: 'root', rel: 'folder', itemtype: 'root' }, data: 'Root', state: 'open' });
loadChildrenOfRootNode(callback);
return;
}
var id = node.attr("id");
if (id == 'root') {
loadChildrenOfRootNode(callback);
return;
}
if (id == 'livetv') {
loadLiveTvServices(openItems, callback);
@ -989,7 +983,7 @@
}
var html = '';
for (var i = 0; i < items.length; i++) {
html += '<li><a class="data">' + items[i] + '</a><a href="#" onclick="EditItemMetadataPage.removeElementFromListview(this)"></a></li>';
html += '<li data-mini="true"><a class="data">' + items[i] + '</a><a href="#" onclick="EditItemMetadataPage.removeElementFromListview(this)" class="btnRemoveFromEditorList"></a></li>';
}
list.html(html).listview('refresh');
}

View file

@ -47,7 +47,7 @@
}
function constructPerson(item, person) {
var html = '<div class="tileItem posterTileItem">';
var html = '<div class="tileItem posterTileItem editorTile">';
var imgUrl;
var name = person.Name || "";
var role = person.Role || "";
@ -94,7 +94,7 @@
if (item.LocationType !== "Offline") {
html += '<span class="read">';
html += '<button type="button" class="edit" data-mini="true" data-inline="true" onclick="EditItemPeoplePage.displayEdit(this)">Edit</button>';
html += '<button type="button" class="edit" data-mini="true" data-inline="true" data-icon="pencil" onclick="EditItemPeoplePage.displayEdit(this)">Edit</button>';
html += '</span>';
}

View file

@ -1504,7 +1504,7 @@
itemId = item.Name;
}
if ((item.MediaType || item.IsFolder) && item.Type != "Channel") {
if ((item.MediaType || item.IsFolder) && item.Type != "Channel" && item.Type != "MusicArtist") {
if (userData.Played) {
html += '<img data-type="' + type + '" data-itemid="' + itemId + '" class="imgUserItemRating imgPlayed" src="css/images/userdata/playedon.png" alt="Played" title="Played" onclick="LibraryBrowser.markPlayed(this);return false;" />';
} else {

View file

@ -255,7 +255,7 @@ var Dashboard = {
showServerRestartWarning: function (systemInfo) {
var html = '<span style="margin-right: 1em;">Please restart Media Browser Server to finish updating.</span>';
if (systemInfo.CanSelfRestart) {
html += '<button type="button" data-icon="refresh" onclick="$(this).button(\'disable\');Dashboard.restartServer();" data-theme="b" data-inline="true" data-mini="true">Restart Server</button>';
}
@ -279,7 +279,7 @@ var Dashboard = {
reloadPage: function () {
var currentUrl = window.location.toString().toLowerCase();
// If they're on a plugin config page just go back to the dashboard
// The plugin may not have been loaded yet, or could have been uninstalled
if (currentUrl.indexOf('configurationpage') != -1) {
@ -644,6 +644,8 @@ var Dashboard = {
}
}
html += '<a href="edititemmetadata.html" style="margin-top: .5em;">Metadata Manager</a>';
// collapsible
html += '</div>';
@ -1121,8 +1123,8 @@ var Dashboard = {
return parts.join(':');
},
ratePackage: function(link) {
ratePackage: function (link) {
var id = link.getAttribute('data-id');
var name = link.getAttribute('data-name');
var rating = link.getAttribute('data-rating');
@ -1132,25 +1134,25 @@ var Dashboard = {
header: "Rate and review " + name,
id: id,
rating: rating,
callback: function(review) {
callback: function (review) {
console.log(review);
dialog.close();
ApiClient.createPackageReview(review).done(function() {
ApiClient.createPackageReview(review).done(function () {
Dashboard.alert("Thank you for your review");
});
}
});
},
getStoreRatingHtml: function(rating, id, name, noLinks) {
getStoreRatingHtml: function (rating, id, name, noLinks) {
var html = "<div style='margin-left: 5px; margin-right: 5px; display: inline-block'>";
if (!rating) rating = 0;
for (var i = 1; i <= 5; i++) {
var title = noLinks ? rating + " stars" : "Rate " + i + (i > 1 ? " stars" : " star");
html += noLinks ? "" : "<a href='#' data-id=" + id + " data-name='" + name + "' data-rating=" + i + " onclick='Dashboard.ratePackage(this);' >";
if (rating <= i - 1) {
html += "<div class='storeStarRating emptyStarRating' title='" + title + "'></div>";