mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #2943 from thornbill/fix-play-all
Fix play all and shuffle buttons
This commit is contained in:
commit
2cf9f05c43
2 changed files with 30 additions and 3 deletions
|
@ -1797,7 +1797,8 @@ class PlaybackManager {
|
|||
// Setting this to true may cause some incorrect sorting
|
||||
Recursive: false,
|
||||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||
MediaTypes: 'Photo,Video',
|
||||
// Only include Photos because we do not handle mixed queues currently
|
||||
MediaTypes: 'Photo',
|
||||
Limit: 1000
|
||||
});
|
||||
} else if (firstItem.Type === 'MusicGenre') {
|
||||
|
@ -1808,6 +1809,16 @@ class PlaybackManager {
|
|||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||
MediaTypes: 'Audio'
|
||||
});
|
||||
} else if (firstItem.IsFolder && firstItem.CollectionType === 'homevideos') {
|
||||
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
||||
ParentId: firstItem.Id,
|
||||
Filters: 'IsNotFolder',
|
||||
Recursive: true,
|
||||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||
// Only include Photos because we do not handle mixed queues currently
|
||||
MediaTypes: 'Photo',
|
||||
Limit: 1000
|
||||
}, queryOptions));
|
||||
} else if (firstItem.IsFolder) {
|
||||
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
||||
ParentId: firstItem.Id,
|
||||
|
|
|
@ -791,21 +791,37 @@ class ItemsView {
|
|||
|
||||
const itemType = item ? item.Type : null;
|
||||
|
||||
if (itemType === 'MusicGenre' || params.type !== 'Programs' && itemType !== 'Channel') {
|
||||
if ((itemType === 'MusicGenre' || params.type !== 'Programs' && itemType !== 'Channel')
|
||||
// Folder, Playlist views
|
||||
&& itemType !== 'UserView'
|
||||
// Only Photo (homevideos) CollectionFolders are supported
|
||||
&& !(itemType === 'CollectionFolder' && item?.CollectionType !== 'homevideos')
|
||||
) {
|
||||
// Show Play All buttons
|
||||
hideOrShowAll(view.querySelectorAll('.btnPlay'), false);
|
||||
} else {
|
||||
// Hide Play All buttons
|
||||
hideOrShowAll(view.querySelectorAll('.btnPlay'), true);
|
||||
}
|
||||
|
||||
if (itemType === 'MusicGenre' || params.type !== 'Programs' && params.type !== 'nextup' && itemType !== 'Channel') {
|
||||
if ((itemType === 'MusicGenre' || params.type !== 'Programs' && params.type !== 'nextup' && itemType !== 'Channel')
|
||||
// Folder, Playlist views
|
||||
&& itemType !== 'UserView'
|
||||
// Only Photo (homevideos) CollectionFolders are supported
|
||||
&& !(itemType === 'CollectionFolder' && item?.CollectionType !== 'homevideos')
|
||||
) {
|
||||
// Show Shuffle buttons
|
||||
hideOrShowAll(view.querySelectorAll('.btnShuffle'), false);
|
||||
} else {
|
||||
// Hide Shuffle buttons
|
||||
hideOrShowAll(view.querySelectorAll('.btnShuffle'), true);
|
||||
}
|
||||
|
||||
if (item && playbackManager.canQueue(item)) {
|
||||
// Show Queue button
|
||||
hideOrShowAll(view.querySelectorAll('.btnQueue'), false);
|
||||
} else {
|
||||
// Hide Queue button
|
||||
hideOrShowAll(view.querySelectorAll('.btnQueue'), true);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue