diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 4115ff9734..41bcae2188 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -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) { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 07d751aaaa..0feed45c05 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -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) {