mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Make the series and season Play button play the next episode
This commit is contained in:
parent
550ad476af
commit
8bf3a64cd7
1 changed files with 50 additions and 0 deletions
|
@ -1848,6 +1848,56 @@ class PlaybackManager {
|
||||||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||||
MediaTypes: 'Audio'
|
MediaTypes: 'Audio'
|
||||||
});
|
});
|
||||||
|
} else if (firstItem.Type === 'Series' || firstItem.Type === 'Season') {
|
||||||
|
const apiClient = ServerConnections.getApiClient(firstItem.ServerId);
|
||||||
|
|
||||||
|
promise = apiClient.getEpisodes(firstItem.SeriesId || firstItem.Id, {
|
||||||
|
IsVirtualUnaired: false,
|
||||||
|
IsMissing: false,
|
||||||
|
UserId: apiClient.getCurrentUserId(),
|
||||||
|
Fields: 'Chapters'
|
||||||
|
}).then(function (episodesResult) {
|
||||||
|
const originalResults = episodesResult.Items;
|
||||||
|
const isSeries = firstItem.Type === 'Series';
|
||||||
|
|
||||||
|
let foundItem = false;
|
||||||
|
|
||||||
|
episodesResult.Items = episodesResult.Items.filter(function (e) {
|
||||||
|
if (foundItem) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!e.UserData.Played && (isSeries || e.SeasonId === firstItem.Id)) {
|
||||||
|
foundItem = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (episodesResult.Items.length === 0) {
|
||||||
|
if (isSeries) {
|
||||||
|
episodesResult.Items = originalResults;
|
||||||
|
} else {
|
||||||
|
episodesResult.Items = originalResults.filter(function (e) {
|
||||||
|
if (foundItem) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.SeasonId === firstItem.Id) {
|
||||||
|
foundItem = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
episodesResult.TotalRecordCount = episodesResult.Items.length;
|
||||||
|
|
||||||
|
return episodesResult;
|
||||||
|
});
|
||||||
} else if (firstItem.IsFolder && firstItem.CollectionType === 'homevideos') {
|
} else if (firstItem.IsFolder && firstItem.CollectionType === 'homevideos') {
|
||||||
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
||||||
ParentId: firstItem.Id,
|
ParentId: firstItem.Id,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue