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
|
// Setting this to true may cause some incorrect sorting
|
||||||
Recursive: false,
|
Recursive: false,
|
||||||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||||
MediaTypes: 'Photo,Video',
|
// Only include Photos because we do not handle mixed queues currently
|
||||||
|
MediaTypes: 'Photo',
|
||||||
Limit: 1000
|
Limit: 1000
|
||||||
});
|
});
|
||||||
} else if (firstItem.Type === 'MusicGenre') {
|
} else if (firstItem.Type === 'MusicGenre') {
|
||||||
|
@ -1808,6 +1809,16 @@ class PlaybackManager {
|
||||||
SortBy: options.shuffle ? 'Random' : 'SortName',
|
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||||
MediaTypes: 'Audio'
|
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) {
|
} else if (firstItem.IsFolder) {
|
||||||
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
promise = getItemsForPlayback(serverId, mergePlaybackQueries({
|
||||||
ParentId: firstItem.Id,
|
ParentId: firstItem.Id,
|
||||||
|
|
|
@ -791,21 +791,37 @@ class ItemsView {
|
||||||
|
|
||||||
const itemType = item ? item.Type : null;
|
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);
|
hideOrShowAll(view.querySelectorAll('.btnPlay'), false);
|
||||||
} else {
|
} else {
|
||||||
|
// Hide Play All buttons
|
||||||
hideOrShowAll(view.querySelectorAll('.btnPlay'), true);
|
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);
|
hideOrShowAll(view.querySelectorAll('.btnShuffle'), false);
|
||||||
} else {
|
} else {
|
||||||
|
// Hide Shuffle buttons
|
||||||
hideOrShowAll(view.querySelectorAll('.btnShuffle'), true);
|
hideOrShowAll(view.querySelectorAll('.btnShuffle'), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item && playbackManager.canQueue(item)) {
|
if (item && playbackManager.canQueue(item)) {
|
||||||
|
// Show Queue button
|
||||||
hideOrShowAll(view.querySelectorAll('.btnQueue'), false);
|
hideOrShowAll(view.querySelectorAll('.btnQueue'), false);
|
||||||
} else {
|
} else {
|
||||||
|
// Hide Queue button
|
||||||
hideOrShowAll(view.querySelectorAll('.btnQueue'), true);
|
hideOrShowAll(view.querySelectorAll('.btnQueue'), true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue