Address review comments
This commit is contained in:
parent
78cdbbb14f
commit
4fe179214c
4 changed files with 41 additions and 71 deletions
|
@ -182,27 +182,23 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
|||
|
||||
elem.querySelector('.btnShuffleQueue').addEventListener('click', function () {
|
||||
if (currentPlayer) {
|
||||
playbackManager.toggleQueueShuffleMode(currentPlayer);
|
||||
playbackManager.toggleQueueShuffleMode();
|
||||
}
|
||||
});
|
||||
|
||||
toggleRepeatButton = elem.querySelector('.toggleRepeatButton');
|
||||
toggleRepeatButton.addEventListener('click', function () {
|
||||
|
||||
if (currentPlayer) {
|
||||
|
||||
switch (playbackManager.getRepeatMode(currentPlayer)) {
|
||||
switch (playbackManager.getRepeatMode()) {
|
||||
case 'RepeatAll':
|
||||
playbackManager.setRepeatMode('RepeatOne', currentPlayer);
|
||||
playbackManager.setRepeatMode('RepeatOne');
|
||||
break;
|
||||
case 'RepeatOne':
|
||||
playbackManager.setRepeatMode('RepeatNone', currentPlayer);
|
||||
playbackManager.setRepeatMode('RepeatNone');
|
||||
break;
|
||||
default:
|
||||
playbackManager.setRepeatMode('RepeatAll', currentPlayer);
|
||||
playbackManager.setRepeatMode('RepeatAll');
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
toggleRepeatButtonIcon = toggleRepeatButton.querySelector('.material-icons');
|
||||
|
@ -343,7 +339,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
|||
toggleRepeatButton.classList.remove('hide');
|
||||
}
|
||||
|
||||
updateRepeatModeDisplay(playState.RepeatMode);
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||
onQueueShuffleModeChange();
|
||||
|
||||
updatePlayerVolumeState(playState.IsMuted, playState.VolumeLevel);
|
||||
|
@ -379,8 +375,6 @@ 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');
|
||||
}
|
||||
|
@ -627,19 +621,17 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
|||
onStateChanged.call(player, e, state);
|
||||
}
|
||||
|
||||
function onRepeatModeChange(e) {
|
||||
function onRepeatModeChange() {
|
||||
|
||||
if (!isEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
var player = this;
|
||||
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||
}
|
||||
|
||||
function onQueueShuffleModeChange() {
|
||||
let shuffleMode = playbackManager.getQueueShuffleMode(this);
|
||||
let shuffleMode = playbackManager.getQueueShuffleMode();
|
||||
let context = nowPlayingBarElement;
|
||||
let toggleShuffleButton = context.querySelector('.btnShuffleQueue');
|
||||
|
||||
|
@ -650,8 +642,6 @@ 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');
|
||||
}
|
||||
|
|
|
@ -3920,9 +3920,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
|||
return info ? info.supportedCommands : [];
|
||||
};
|
||||
|
||||
PlaybackManager.prototype.setRepeatMode = function (value, player) {
|
||||
|
||||
player = player || this._currentPlayer;
|
||||
PlaybackManager.prototype.setRepeatMode = function (value, player = this._currentPlayer) {
|
||||
if (player && !enableLocalPlaylistManagement(player)) {
|
||||
return player.setRepeatMode(value);
|
||||
}
|
||||
|
@ -3931,9 +3929,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
|||
events.trigger(player, 'repeatmodechange');
|
||||
};
|
||||
|
||||
PlaybackManager.prototype.getRepeatMode = function (player) {
|
||||
|
||||
player = player || this._currentPlayer;
|
||||
PlaybackManager.prototype.getRepeatMode = function (player = this._currentPlayer) {
|
||||
if (player && !enableLocalPlaylistManagement(player)) {
|
||||
return player.getRepeatMode();
|
||||
}
|
||||
|
|
|
@ -144,9 +144,7 @@ define([], function () {
|
|||
|
||||
PlayQueueManager.prototype.removeFromPlaylist = function (playlistItemIds) {
|
||||
|
||||
var playlist = this.getPlaylist();
|
||||
|
||||
if (playlist.length <= playlistItemIds.length) {
|
||||
if (this._playlist.length <= playlistItemIds.length) {
|
||||
return {
|
||||
result: 'empty'
|
||||
};
|
||||
|
@ -155,14 +153,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._sortedPlaylist = this._sortedPlaylist.filter(function (item) {
|
||||
return !playlistItemIds.includes(item.PlaylistItemId);
|
||||
});
|
||||
}
|
||||
|
||||
this._playlist = playlist.filter(function (item) {
|
||||
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
||||
this._playlist = this._playlist.filter(function (item) {
|
||||
return !playlistItemIds.includes(item.PlaylistItemId);
|
||||
});
|
||||
|
||||
return {
|
||||
|
|
|
@ -250,20 +250,16 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
|||
|
||||
var currentImgUrl;
|
||||
return function () {
|
||||
function toggleRepeat(player) {
|
||||
if (player) {
|
||||
switch (playbackManager.getRepeatMode(player)) {
|
||||
function toggleRepeat() {
|
||||
switch (playbackManager.getRepeatMode()) {
|
||||
case 'RepeatNone':
|
||||
playbackManager.setRepeatMode('RepeatAll', player);
|
||||
playbackManager.setRepeatMode('RepeatAll');
|
||||
break;
|
||||
|
||||
case 'RepeatAll':
|
||||
playbackManager.setRepeatMode('RepeatOne', player);
|
||||
playbackManager.setRepeatMode('RepeatOne');
|
||||
break;
|
||||
|
||||
case 'RepeatOne':
|
||||
playbackManager.setRepeatMode('RepeatNone', player);
|
||||
}
|
||||
playbackManager.setRepeatMode('RepeatNone');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -336,7 +332,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
|||
context.classList.add('hideVideoButtons');
|
||||
}
|
||||
|
||||
updateRepeatModeDisplay(playState.RepeatMode);
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||
onShuffleQueueModeChange();
|
||||
updateNowPlayingInfo(context, state);
|
||||
}
|
||||
|
@ -367,18 +363,12 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
|||
case 'RepeatNone':
|
||||
repeatOn = false;
|
||||
break;
|
||||
case undefined:
|
||||
break;
|
||||
default:
|
||||
throw new TypeError('invalid value for repeatMode');
|
||||
}
|
||||
|
||||
for (const toggleRepeatButton of toggleRepeatButtons) {
|
||||
if (!repeatOn) {
|
||||
toggleRepeatButton.classList.remove(cssClass);
|
||||
} else {
|
||||
toggleRepeatButton.classList.add(cssClass);
|
||||
}
|
||||
toggleRepeatButton.classList.toggle(cssClass, repeatOn);
|
||||
toggleRepeatButton.innerHTML = innHtml;
|
||||
}
|
||||
}
|
||||
|
@ -518,25 +508,23 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
|||
onStateChanged.call(player, e, state);
|
||||
}
|
||||
|
||||
function onRepeatModeChange(e) {
|
||||
var player = this;
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
|
||||
function onRepeatModeChange() {
|
||||
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||
}
|
||||
|
||||
function onShuffleQueueModeChange() {
|
||||
let shuffleMode = playbackManager.getQueueShuffleMode(this);
|
||||
let context = dlg;
|
||||
const cssClass = 'shuffleQueue-active';
|
||||
let shuffleButtons = context.querySelectorAll('.btnShuffleQueue');
|
||||
|
||||
for (let shuffleButton of shuffleButtons) {
|
||||
switch (shuffleMode) {
|
||||
case 'Sorted':
|
||||
shuffleButton.classList.remove('shuffleQueue-active');
|
||||
shuffleButton.classList.toggle(cssClass, false);
|
||||
break;
|
||||
case 'Shuffle':
|
||||
shuffleButton.classList.add('shuffleQueue-active');
|
||||
break;
|
||||
case undefined:
|
||||
shuffleButton.classList.toggle(cssClass, true);
|
||||
break;
|
||||
default:
|
||||
throw new TypeError('invalid shuffle mode');
|
||||
|
@ -645,7 +633,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
|||
function onBtnCommandClick() {
|
||||
if (currentPlayer) {
|
||||
if (this.classList.contains('repeatToggleButton')) {
|
||||
toggleRepeat(currentPlayer);
|
||||
toggleRepeat();
|
||||
} else {
|
||||
playbackManager.sendCommand({
|
||||
Name: this.getAttribute('data-command')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue