diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 38b9542e2d..31a090ec10 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -759,7 +759,7 @@ var atts = []; - var itemCommands = LibraryBrowser.getItemCommands(item); + var itemCommands = LibraryBrowser.getItemCommands(item, options); atts.push('data-itemid="' + item.Id + '"'); atts.push('data-commands="' + itemCommands.join(',') + '"'); @@ -784,7 +784,7 @@ return html; }, - getItemCommands: function (item) { + getItemCommands: function (item, options) { var itemCommands = []; @@ -809,7 +809,12 @@ } if (PlaylistManager.supportsPlaylists(item)) { - itemCommands.push('playlist'); + + if (options.showRemoveFromPlaylist) { + itemCommands.push('removefromplaylist'); + } else { + itemCommands.push('playlist'); + } } return itemCommands; diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 1df4c7314b..26720e800a 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -161,6 +161,20 @@ return false; } + function onRemoveFromPlaylistButtonClick() { + + var id = this.getAttribute('data-itemid'); + + var page = $(this).parents('.page'); + + $('.itemsContainer', page).trigger('needsrefresh'); + + // Used by the tab menu, not the slide up + $('.tapHoldMenu').popup('close'); + + return false; + } + function onShuffleButtonClick() { var id = this.getAttribute('data-itemid'); @@ -297,6 +311,10 @@ html += '
  • ' + Globalize.translate('ButtonAddToPlaylist') + '
  • '; } + if (commands.indexOf('removefromplaylist') != -1) { + html += '
  • ' + Globalize.translate('ButtonRemoveFromPlaylist') + '
  • '; + } + html += ''; html += ''; @@ -316,6 +334,7 @@ $('.btnShuffle', elem).on('click', onShuffleButtonClick); $('.btnPlayTrailer', elem).on('click', onTrailerButtonClick); $('.btnAddToPlaylist', elem).on('click', onAddToPlaylistButtonClick); + $('.btnRemoveFromPlaylist', elem).on('click', onRemoveFromPlaylistButtonClick); }); } diff --git a/dashboard-ui/scripts/playlistedit.js b/dashboard-ui/scripts/playlistedit.js index da563e8712..0f056b7442 100644 --- a/dashboard-ui/scripts/playlistedit.js +++ b/dashboard-ui/scripts/playlistedit.js @@ -73,7 +73,8 @@ context: 'playlists', sortBy: query.SortBy, showIndex: false, - title: item.Name + title: item.Name, + showRemoveFromPlaylist: true }); } @@ -154,6 +155,12 @@ LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.IsFolder, mediaType, userdata.PlaybackPositionTicks); }); + $('.itemsContainer', page).on('needsrefresh', function () { + + reloadItems(page); + + }); + }).on('pagebeforeshow', "#playlistEditorPage", function () { var page = this;