Implement play mode as dropdown button
This commit is contained in:
@ -46,6 +46,13 @@ var last_volume = 0;
|
||||
var playing = false;
|
||||
var playPauseBtn = $("#play-pause-btn");
|
||||
|
||||
var playModeBtns = {
|
||||
'one-shot': $('#one-shot-mode-btn'),
|
||||
random: $('#random-mode-btn'),
|
||||
repeat: $('#repeat-mode-btn'),
|
||||
autoplay: $('#autoplay-mode-btn')
|
||||
};
|
||||
|
||||
function request(_url, _data, refresh = false) {
|
||||
console.log(_data);
|
||||
$.ajax({
|
||||
@ -255,27 +262,14 @@ function updateControls(empty, play, mode, volume) {
|
||||
playPauseBtn.find('[data-fa-i2svg]').removeClass('fa-pause').addClass('fa-play');
|
||||
}
|
||||
}
|
||||
if (mode === "one-shot") {
|
||||
$("#oneshot-btn").removeClass("btn-secondary").addClass("btn-primary").prop("disabled", true);
|
||||
$("#repeat-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#random-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#autoplay-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
} else if (mode === "repeat") {
|
||||
$("#oneshot-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#repeat-btn").removeClass("btn-secondary").addClass("btn-primary").prop("disabled", true);
|
||||
$("#random-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#autoplay-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
} else if (mode === "random") {
|
||||
$("#oneshot-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#repeat-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#random-btn").removeClass("btn-secondary").addClass("btn-primary").prop("disabled", false); // This is a feature.
|
||||
$("#autoplay-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
} else if (mode === "autoplay") {
|
||||
$("#oneshot-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#repeat-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#random-btn").removeClass("btn-primary").addClass("btn-secondary").prop("disabled", false);
|
||||
$("#autoplay-btn").removeClass("btn-secondary").addClass("btn-primary").prop("disabled", true);
|
||||
|
||||
let otherModes = Object.assign({}, playModeBtns);
|
||||
delete otherModes[mode];
|
||||
for (_mode in otherModes) {
|
||||
otherModes[_mode].removeClass('active');
|
||||
}
|
||||
playModeBtns[mode].addClass('active');
|
||||
|
||||
if (volume != last_volume) {
|
||||
last_volume = volume;
|
||||
if (volume > 1) {
|
||||
@ -321,6 +315,10 @@ function togglePlayPause() {
|
||||
}
|
||||
}
|
||||
|
||||
function changePlayMode(mode) {
|
||||
request('post', {action: mode});
|
||||
}
|
||||
|
||||
// Check the version of playlist to see if update is needed.
|
||||
setInterval(checkForPlaylistUpdate, 3000);
|
||||
|
||||
|
Reference in New Issue
Block a user