mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
switch to shared play menu
This commit is contained in:
parent
c56e87cd63
commit
c925a314cf
@ -1984,27 +1984,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
function showPlayMenu(item, target) {
|
||||
|
||||
require(['playMenu'], function (playMenu) {
|
||||
|
||||
playMenu.show({
|
||||
|
||||
item: item,
|
||||
positionTo: target
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function playCurrentItem(button) {
|
||||
|
||||
if (currentItem.Type == 'Program') {
|
||||
|
||||
ApiClient.getLiveTvChannel(currentItem.ChannelId, Dashboard.getCurrentUserId()).then(function (channel) {
|
||||
|
||||
LibraryBrowser.showPlayMenu(null, channel.Id, channel.Type, false, channel.MediaType, (channel.UserData || {}).PlaybackPositionTicks);
|
||||
showPlayMenu(channel, button);
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var userdata = currentItem.UserData || {};
|
||||
|
||||
var mediaType = currentItem.MediaType;
|
||||
|
||||
if (currentItem.Type == "MusicArtist" || currentItem.Type == "MusicAlbum") {
|
||||
mediaType = "Audio";
|
||||
}
|
||||
|
||||
LibraryBrowser.showPlayMenu(button, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks);
|
||||
showPlayMenu(currentItem, button);
|
||||
}
|
||||
|
||||
function deleteTimer(page, params, id) {
|
||||
|
@ -577,106 +577,6 @@
|
||||
});
|
||||
},
|
||||
|
||||
showPlayMenu: function (positionTo, itemId, itemType, isFolder, mediaType, resumePositionTicks) {
|
||||
|
||||
var externalPlayers = AppInfo.supportsExternalPlayers && appSettings.enableExternalPlayers();
|
||||
|
||||
if (!resumePositionTicks && mediaType != "Audio" && !isFolder) {
|
||||
|
||||
if (!externalPlayers || mediaType != "Video") {
|
||||
|
||||
MediaController.play(itemId);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var menuItems = [];
|
||||
|
||||
if (resumePositionTicks) {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonResume'),
|
||||
id: 'resume',
|
||||
ironIcon: 'play-arrow'
|
||||
});
|
||||
}
|
||||
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonPlay'),
|
||||
id: 'play',
|
||||
ironIcon: 'play-arrow'
|
||||
});
|
||||
|
||||
if (!isFolder && externalPlayers && mediaType != "Audio") {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonPlayExternalPlayer'),
|
||||
id: 'externalplayer',
|
||||
ironIcon: 'airplay'
|
||||
});
|
||||
}
|
||||
|
||||
if (MediaController.canQueueMediaType(mediaType, itemType)) {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonQueue'),
|
||||
id: 'queue',
|
||||
ironIcon: 'playlist-add'
|
||||
});
|
||||
}
|
||||
|
||||
if (itemType == "Audio" || itemType == "MusicAlbum" || itemType == "MusicArtist" || itemType == "MusicGenre") {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonInstantMix'),
|
||||
id: 'instantmix',
|
||||
ironIcon: 'shuffle'
|
||||
});
|
||||
}
|
||||
|
||||
if (isFolder || itemType == "MusicArtist" || itemType == "MusicGenre") {
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonShuffle'),
|
||||
id: 'shuffle',
|
||||
ironIcon: 'shuffle'
|
||||
});
|
||||
}
|
||||
|
||||
require(['actionsheet'], function (actionsheet) {
|
||||
|
||||
actionsheet.show({
|
||||
items: menuItems,
|
||||
positionTo: positionTo,
|
||||
callback: function (id) {
|
||||
|
||||
switch (id) {
|
||||
|
||||
case 'play':
|
||||
MediaController.play(itemId);
|
||||
break;
|
||||
case 'externalplayer':
|
||||
LibraryBrowser.playInExternalPlayer(itemId);
|
||||
break;
|
||||
case 'resume':
|
||||
MediaController.play({
|
||||
ids: [itemId],
|
||||
startPositionTicks: resumePositionTicks
|
||||
});
|
||||
break;
|
||||
case 'queue':
|
||||
MediaController.queue(itemId);
|
||||
break;
|
||||
case 'instantmix':
|
||||
MediaController.instantMix(itemId);
|
||||
break;
|
||||
case 'shuffle':
|
||||
MediaController.shuffle(itemId);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
deleteItems: function (itemIds) {
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
Loading…
Reference in New Issue
Block a user