From 697c7fa88f26f3a020d4d52f7490ecf7b2dd42f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Mon, 14 Jan 2019 19:21:31 +0100 Subject: [PATCH] Fixing an issue with skipping a song sometimes changes the pagination --- server/public/assets/js/functions.js | 8 +++---- server/public/assets/js/list.js | 33 +++++++++++++++------------- server/public/assets/js/player.js | 20 +++++++++-------- 3 files changed, 33 insertions(+), 28 deletions(-) diff --git a/server/public/assets/js/functions.js b/server/public/assets/js/functions.js index 28612bf9..c9e2ccf3 100644 --- a/server/public/assets/js/functions.js +++ b/server/public/assets/js/functions.js @@ -56,7 +56,7 @@ function resizeFunction() { ytPlaying = Player.player.getPlayerState() == YT.PlayerState.PLAYING || Player.player.getPlayerState() == YT.PlayerState.BUFFERING; } catch(e) {} scPlaying = !paused; - resizePlaylistPlaying(ytPlaying || scPlaying); + resizePlaylistPlaying(ytPlaying || scPlaying, true); return; }) } else { @@ -66,7 +66,7 @@ function resizeFunction() { try { scPlaying = Player.soundcloud_player.isPlaying(); } catch(e){} - resizePlaylistPlaying(ytPlaying || scPlaying); + resizePlaylistPlaying(ytPlaying || scPlaying, true); } return; } @@ -1012,7 +1012,7 @@ function seekToMove(e){ } catch(e){} } -function resizePlaylistPlaying(playing) { +function resizePlaylistPlaying(playing, resizing) { if(document.querySelector("#wrapper") == null || embed || client) return; if(window.innerWidth < 601) { var subtract = 0; @@ -1068,7 +1068,7 @@ function resizePlaylistPlaying(playing) { Helper.css(".list-song", "height", List.element_height + "px"); Channel.set_title_width(); var toJumpTo = page / canFit; - if(toJumpTo > Math.floor(full_playlist.length / List.can_fit)) { + if(toJumpTo > Math.floor(full_playlist.length / List.can_fit) && resizing) { toJumpTo = Math.floor(full_playlist.length / List.can_fit); } List.dynamicContentPageJumpTo(toJumpTo); diff --git a/server/public/assets/js/list.js b/server/public/assets/js/list.js index 9316e9d5..5f44851e 100755 --- a/server/public/assets/js/list.js +++ b/server/public/assets/js/list.js @@ -84,13 +84,15 @@ var List = { changedValues: function(song) { if(song.type == "suggested") { - document.querySelector("#suggested-" + song.id).querySelector(".vote-container").setAttribute("title", song.title); - document.querySelector("#suggested-" + song.id).querySelector(".list-title").setAttribute("title", song.title); - document.querySelector("#suggested-" + song.id).querySelector(".list-title").innerText = song.title; - var _temp_duration = Helper.secondsToOther(song.duration); - document.querySelector("#suggested-" + song.id).querySelector(".card-duration").innerText = Helper.pad(_temp_duration[0]) + ":" + Helper.pad(_temp_duration[1]); - document.querySelector("#suggested-" + song.id).querySelector(".list-image").setAttribute("style", "background-image:url('//img.youtube.com/vi/"+song.new_id+"/mqdefault.jpg');"); - document.querySelector("#suggested-" + song.id).setAttribute("id", song.new_id); + try { + document.getElementById("#suggested-" + song.id).querySelector(".vote-container").setAttribute("title", song.title); + document.getElementById("#suggested-" + song.id).querySelector(".list-title").setAttribute("title", song.title); + document.getElementById("#suggested-" + song.id).querySelector(".list-title").innerText = song.title; + var _temp_duration = Helper.secondsToOther(song.duration); + document.getElementById("#suggested-" + song.id).querySelector(".card-duration").innerText = Helper.pad(_temp_duration[0]) + ":" + Helper.pad(_temp_duration[1]); + document.getElementById("#suggested-" + song.id).querySelector(".list-image").setAttribute("style", "background-image:url('//img.youtube.com/vi/"+song.new_id+"/mqdefault.jpg');"); + document.getElementById("#suggested-" + song.id).setAttribute("id", song.new_id); + } catch(e) {} return; } var i = List.getIndexOfSong(song.id); @@ -100,14 +102,15 @@ var List = { full_playlist[i].start = song.start; full_playlist[i].end = song.end; full_playlist[i].id = song.new_id; - - document.querySelector("#" + song.id).querySelector(".vote-container").setAttribute("title", song.title); - document.querySelector("#" + song.id).querySelector(".list-title").setAttribute("title", song.title); - document.querySelector("#" + song.id).querySelector(".list-title").innerText = song.title; - var _temp_duration = Helper.secondsToOther(song.duration); - document.querySelector("#" + song.id).querySelector(".card-duration").innerText = Helper.pad(_temp_duration[0]) + ":" + Helper.pad(_temp_duration[1]); - document.querySelector("#" + song.id).querySelector(".list-image").setAttribute("style", "background-image:url('//img.youtube.com/vi/"+song.new_id+"/mqdefault.jpg');"); - document.querySelector("#" + song.id).setAttribute("id", song.new_id); + try { + document.getElementById("#" + song.id).querySelector(".vote-container").setAttribute("title", song.title); + document.getElementById("#" + song.id).querySelector(".list-title").setAttribute("title", song.title); + document.getElementById("#" + song.id).querySelector(".list-title").innerText = song.title; + var _temp_duration = Helper.secondsToOther(song.duration); + document.getElementById("#" + song.id).querySelector(".card-duration").innerText = Helper.pad(_temp_duration[0]) + ":" + Helper.pad(_temp_duration[1]); + document.getElementById("#" + song.id).querySelector(".list-image").setAttribute("style", "background-image:url('//img.youtube.com/vi/"+song.new_id+"/mqdefault.jpg');"); + document.getElementById("#" + song.id).setAttribute("id", song.new_id); + } catch(e) {} } }, diff --git a/server/public/assets/js/player.js b/server/public/assets/js/player.js index 74f1f50b..aad1b154 100755 --- a/server/public/assets/js/player.js +++ b/server/public/assets/js/player.js @@ -159,7 +159,7 @@ var Player = { Helper.toggleClass(".video-container", "click-through"); Helper.toggleClass(".page-footer", "padding-bottom-extra"); } - resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING); + resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING, false); } if(embed && !autoplay) autoplay = true; Helper.css("#player", "opacity", "1"); @@ -223,7 +223,8 @@ var Player = { Helper.toggleClass(".video-container", "click-through"); Helper.toggleClass(".page-footer", "padding-bottom-extra"); } - resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING); + + resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING, false); } } } @@ -237,7 +238,8 @@ var Player = { if(small_player || !Helper.mobilecheck()) { Helper.css("#player", "opacity", "1"); } - resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING); + + resizePlaylistPlaying(newState.data == YT.PlayerState.PLAYING || newState.data == YT.PlayerState.BUFFERING, false); break; } }, @@ -739,9 +741,9 @@ var Player = { Player.soundcloud_player.isPaused(function(paused) { scPlaying = !paused; try { - resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); + resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING, false); } catch(e) { - resizePlaylistPlaying(scPlaying); + resizePlaylistPlaying(scPlaying, false); } }); } else { @@ -749,9 +751,9 @@ var Player = { scPlaying = Player.soundcloud_player.isPlaying(); } catch(e){} try { - resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING); + resizePlaylistPlaying(Player.player.getPlayerState() == YT.PlayerState.PLAYING || scPlaying || Player.player.getPlayerState() == YT.PlayerState.BUFFERING, false); } catch(e) { - resizePlaylistPlaying(scPlaying); + resizePlaylistPlaying(scPlaying, false); } } } @@ -812,13 +814,13 @@ var Player = { if(scUsingWidget) { Player.soundcloud_player.isPaused(function(paused) { scPlaying = !paused; - resizePlaylistPlaying(scPlaying); + resizePlaylistPlaying(scPlaying, false); }); } else { try { scPlaying = Player.soundcloud_player.isPlaying(); } catch(e){} - resizePlaylistPlaying(scPlaying); + resizePlaylistPlaying(scPlaying, false); } } Helper.removeClass("#player_overlay", "small-display-hide");