mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Reverting itemContextMenu changes to support folder/playlist ordering with the "Play" action
Code cleanup
This commit is contained in:
parent
c935ba9a20
commit
5d20523616
3 changed files with 35 additions and 2 deletions
|
@ -9,6 +9,8 @@ import itemHelper from './itemHelper';
|
||||||
import { playbackManager } from './playback/playbackmanager';
|
import { playbackManager } from './playback/playbackmanager';
|
||||||
import ServerConnections from './ServerConnections';
|
import ServerConnections from './ServerConnections';
|
||||||
import toast from './toast/toast';
|
import toast from './toast/toast';
|
||||||
|
import * as userSettings from '../scripts/settings/userSettings';
|
||||||
|
import libraryMenu from '../scripts/libraryMenu';
|
||||||
|
|
||||||
export function getCommands(options) {
|
export function getCommands(options) {
|
||||||
const item = options.item;
|
const item = options.item;
|
||||||
|
@ -567,6 +569,29 @@ function deleteSeriesTimer(apiClient, item, resolve, command) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getSettingsKey(item) {
|
||||||
|
if (item.IsFolder) {
|
||||||
|
return 'Folder';
|
||||||
|
}
|
||||||
|
const itemType = item.MediaType;
|
||||||
|
switch (itemType) {
|
||||||
|
case 'Movie':
|
||||||
|
case 'BoxSet':
|
||||||
|
case 'Video':
|
||||||
|
return 'movies';
|
||||||
|
case 'Audio':
|
||||||
|
return 'songs';
|
||||||
|
case 'MusicAlbum':
|
||||||
|
return 'musicalbums';
|
||||||
|
case 'MusicArtist':
|
||||||
|
return 'musicartists';
|
||||||
|
case 'MusicGenre':
|
||||||
|
return 'genres';
|
||||||
|
case 'MusicPlaylist':
|
||||||
|
return 'musicplaylists';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function play(item, resume, queue, queueNext) {
|
function play(item, resume, queue, queueNext) {
|
||||||
let method = 'play';
|
let method = 'play';
|
||||||
if (queue) {
|
if (queue) {
|
||||||
|
@ -589,9 +614,16 @@ function play(item, resume, queue, queueNext) {
|
||||||
serverId: item.ServerId
|
serverId: item.ServerId
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
const sortParentId = item.IsFolder ? ('items-' + item.Id) : libraryMenu.getTopParentId() + '-' + getSettingsKey(item);
|
||||||
|
const sortValues = userSettings.getSortValues(sortParentId);
|
||||||
|
|
||||||
playbackManager[method]({
|
playbackManager[method]({
|
||||||
items: [item],
|
items: [item],
|
||||||
startPositionTicks: startPosition
|
startPositionTicks: startPosition,
|
||||||
|
queryOptions: {
|
||||||
|
SortBy: sortValues.sortBy,
|
||||||
|
SortOrder: sortValues.sortOrder
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1815,7 +1815,7 @@ class PlaybackManager {
|
||||||
// Setting this to true may cause some incorrect sorting
|
// Setting this to true may cause some incorrect sorting
|
||||||
Recursive: false,
|
Recursive: false,
|
||||||
MediaTypes: 'Photo,Video',
|
MediaTypes: 'Photo,Video',
|
||||||
sortBy: options.shuffle ? 'Random' : 'SortName',
|
SortBy: options.shuffle ? 'Random' : 'SortName',
|
||||||
Limit: UNLIMITED_ITEMS
|
Limit: UNLIMITED_ITEMS
|
||||||
}, queryOptions)).then(function (result) {
|
}, queryOptions)).then(function (result) {
|
||||||
const playbackItems = result.Items;
|
const playbackItems = result.Items;
|
||||||
|
|
|
@ -206,6 +206,7 @@ function executeAction(card, target, action) {
|
||||||
} else if (action === 'play' || action === 'resume') {
|
} else if (action === 'play' || action === 'resume') {
|
||||||
const startPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0', 10);
|
const startPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0', 10);
|
||||||
const sortValues = userSettings.getSortValuesLegacy(sortParentId, 'SortName');
|
const sortValues = userSettings.getSortValuesLegacy(sortParentId, 'SortName');
|
||||||
|
|
||||||
if (playbackManager.canPlay(item)) {
|
if (playbackManager.canPlay(item)) {
|
||||||
playbackManager.play({
|
playbackManager.play({
|
||||||
ids: [playableItemId],
|
ids: [playableItemId],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue