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');
}