diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index b8a2a5082b..97227ca71d 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -379,6 +379,8 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader', toggleRepeatButtonIcon.classList.add('repeat'); toggleRepeatButton.classList.remove(cssClass); break; + case undefined: + break; default: throw new TypeError('invalid value for repeatMode'); } @@ -536,9 +538,9 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader', var textLines = nowPlayingItem ? nowPlayingHelper.getNowPlayingNames(nowPlayingItem) : []; nowPlayingTextElement.innerHTML = ''; if (textLines) { + let itemText = document.createElement('div'); let secondaryText = document.createElement('div'); secondaryText.classList.add('nowPlayingBarSecondaryText'); - let itemText = document.createElement('div'); if (textLines.length > 1) { textLines[1].secondary = true; if (textLines[1].text) { @@ -549,11 +551,9 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader', } if (textLines[0].text) { - if (textLines[0].text) { - let text = document.createElement('a'); - text.innerHTML = textLines[0].text; - itemText.appendChild(text); - } + let text = document.createElement('a'); + text.innerHTML = textLines[0].text; + itemText.appendChild(text); } nowPlayingTextElement.appendChild(itemText); nowPlayingTextElement.appendChild(secondaryText); @@ -650,6 +650,8 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader', case 'Shuffle': toggleShuffleButton.classList.add('shuffleQueue-active'); break; + case undefined: + break; default: throw new TypeError('invalid value for shuffleMode'); } diff --git a/src/components/playback/playqueuemanager.js b/src/components/playback/playqueuemanager.js index 03f5246b89..8ffefd6b84 100644 --- a/src/components/playback/playqueuemanager.js +++ b/src/components/playback/playqueuemanager.js @@ -155,6 +155,12 @@ define([], function () { var currentPlaylistItemId = this.getCurrentPlaylistItemId(); var isCurrentIndex = playlistItemIds.indexOf(currentPlaylistItemId) !== -1; + if (this._sortedPlaylist.length <= playlistItemIds.length) { + this._sortedPlaylist = this._sortedPlaylist.splice(0).filter(function (item) { + return playlistItemIds.indexOf(item.PlaylistItemId) === -1; + }); + } + this._playlist = playlist.filter(function (item) { return playlistItemIds.indexOf(item.PlaylistItemId) === -1; }); diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index b9c2c9eb87..36d703fd87 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -356,7 +356,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL let toggleRepeatButtons = context.querySelectorAll('.repeatToggleButton'); const cssClass = 'repeatButton-active'; let innHtml = ''; - let repeatOn = undefined; + let repeatOn = true; switch (repeatMode) { case 'RepeatAll': @@ -365,14 +365,16 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL innHtml = ''; break; case 'RepeatNone': - repeatOn = null; + repeatOn = false; + break; + case undefined: break; default: throw new TypeError('invalid value for repeatMode'); } for (const toggleRepeatButton of toggleRepeatButtons) { - if (repeatOn === null) { + if (!repeatOn) { toggleRepeatButton.classList.remove(cssClass); } else { toggleRepeatButton.classList.add(cssClass); @@ -534,6 +536,8 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL case 'Shuffle': shuffleButton.classList.add('shuffleQueue-active'); break; + case undefined: + break; default: throw new TypeError('invalid shuffle mode'); }