forked from Simnation/Main
351 lines
No EOL
14 KiB
JavaScript
351 lines
No EOL
14 KiB
JavaScript
$(document).ready(function() {
|
|
$('body').hide()
|
|
|
|
// .click(function() {
|
|
// return;
|
|
// });
|
|
|
|
var btn = $(".PlayButton");
|
|
var PlayButton = $("#buttonOne");
|
|
var directPlay = $('#directPlay');
|
|
var currentSongLabel = '';
|
|
var buttonTwo = $('#buttonTwo');
|
|
var buttonThree = $('#buttonThree');
|
|
var buttonFour = $('#buttonFour');
|
|
var buttonFive = $('#buttonFive');
|
|
var buttonSix = $('#buttonSix');
|
|
var buttonSeven = $('#buttonSeven');
|
|
var addToPlaylist = $('#addToPlaylist');
|
|
var HighestPlayListId = 0
|
|
var isDropDownOpen = false
|
|
var perc = 0
|
|
|
|
btn.click(function() {
|
|
$.post('http://myDj/togglePlaystate', JSON.stringify({}));
|
|
btn.toggleClass("paused");
|
|
PlayButton.toggleClass("paused2")
|
|
return false;
|
|
});
|
|
|
|
PlayButton.click(function() {
|
|
$.post('http://myDj/togglePlaystate', JSON.stringify({}));
|
|
btn.toggleClass("paused");
|
|
PlayButton.toggleClass("paused2")
|
|
return false;
|
|
});
|
|
|
|
directPlay.click(function() {
|
|
$.post('http://myDj/playNewSong', JSON.stringify({
|
|
link: $('#linkInput').val()
|
|
}));
|
|
return;
|
|
});
|
|
|
|
buttonTwo.click(function() {
|
|
$.post('http://myDj/rewind', JSON.stringify({}));
|
|
$('#timeLineInside').width($('#timeLineInside').width()-(perc*10))
|
|
return;
|
|
});
|
|
|
|
buttonThree.click(function() {
|
|
$.post('http://myDj/forward', JSON.stringify({}));
|
|
$('#timeLineInside').width($('#timeLineInside').width()+(perc*10))
|
|
return;
|
|
});
|
|
|
|
buttonFour.click(function() {
|
|
$.post('http://myDj/down', JSON.stringify({}));
|
|
return;
|
|
});
|
|
|
|
buttonFive.click(function() {
|
|
$.post('http://myDj/up', JSON.stringify({}));
|
|
return;
|
|
});
|
|
|
|
var AddPlaylist = $('#PlayListAddButton');
|
|
AddPlaylist.click(function() {
|
|
// console.log($('#CreatePlaylistName').val())
|
|
if ($('#CreatePlaylistName').val() != '') {
|
|
var newHtml = $('#playlists').html()
|
|
// console.log(HighestPlayListId + ' ' + $('#CreatePlaylistName').val())
|
|
newHtml += `
|
|
<div class="playlist" data-id="${HighestPlayListId}">
|
|
<button id="playlist${HighestPlayListId}" class="playlistButton">${$('#CreatePlaylistName').val()}</button>
|
|
<div id="songSpace${HighestPlayListId} class="songs" data-id="${HighestPlayListId}" data-displayed="0"></div>
|
|
</div>`
|
|
$('#playlists').html(newHtml)
|
|
$.post('http://myDj/addPlayList', JSON.stringify({
|
|
id: HighestPlayListId,
|
|
name: $('#CreatePlaylistName').val()
|
|
}));
|
|
var newHtml = $('#addPlaylist').html()
|
|
newHtml += `<p class="addPlaylistButton" data-id="${HighestPlayListId}">${$('#CreatePlaylistName').val()}</p>`
|
|
$('#addPlaylist').html(newHtml)
|
|
}
|
|
|
|
return;
|
|
});
|
|
|
|
addToPlaylist.click(function() {
|
|
|
|
var addPlaylist = $('#addPlaylist')
|
|
if (isDropDownOpen) {
|
|
isDropDownOpen = false
|
|
addPlaylist.animate({height: '0', width: '0'});
|
|
setTimeout(function() {
|
|
addPlaylist.css('display', 'none');
|
|
}, 350);
|
|
} else {
|
|
console.log('Dropdown open')
|
|
isDropDownOpen = true
|
|
addPlaylist.css('display', 'block');
|
|
addPlaylist.animate({height: '100%', width: '100%'});
|
|
}
|
|
return;
|
|
});
|
|
|
|
$(document).on('click', '.deleteSongs', function() {
|
|
console.log($(this).parent().data('songid') + ' ' + $(this).parent().data('link') + ' ' + $(this).parent().parent().data('id'))
|
|
$.post('http://myDj/deleteSong', JSON.stringify({
|
|
id: $(this).parent().data('songid'),
|
|
playlistId: $(this).parent().parent().data('id')
|
|
}));
|
|
$(this).parent().remove()
|
|
});
|
|
|
|
$(document).on('click', '.deletePlaylist', function() {
|
|
// console.log($(this).parent().parent().data('id'))
|
|
$.post('http://myDj/deletePlaylist', JSON.stringify({
|
|
id: $(this).parent().parent().data('id'),
|
|
}));
|
|
if (PlaylistIsVisible) {
|
|
songs.remove()
|
|
$(this).html('')
|
|
}
|
|
$(this).parent().remove()
|
|
});
|
|
|
|
$(document).on('click', '.addPlaylistButton', function() {
|
|
if ($('#linkInput').val()) {
|
|
var i = $(this)
|
|
$.getJSON('https://noembed.com/embed?url=', {format: 'json', url: $('#linkInput').val()}, function (data) {
|
|
if (data.title) {
|
|
console.log(i.data('id'))
|
|
$.post('http://myDj/addSongToPlaylist', JSON.stringify({
|
|
id: i.data('id'),
|
|
link: $('#linkInput').val()
|
|
}));
|
|
|
|
var addPlaylist = $('#addPlaylist')
|
|
isDropDownOpen = false
|
|
addPlaylist.animate({height: '0', width: '0'});
|
|
setTimeout(function() {
|
|
addPlaylist.css('display', 'none');
|
|
}, 350);
|
|
$('#linkInput').val('')
|
|
} else {
|
|
$.post('http://myDj/noSongtitle', JSON.stringify({}));
|
|
}
|
|
});
|
|
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.song', function() {
|
|
// console.log($(this).data('songid') + ' ' + $(this).data('link') + ' ' + $(this).parent().data('id'))
|
|
$.post('http://myDj/playSongFromPlaylist', JSON.stringify({
|
|
id: $(this).data('id'),
|
|
link: $(this).data('link'),
|
|
playlistId: $(this).parent().data('id')
|
|
}));
|
|
});
|
|
|
|
window.addEventListener('message', (event) => {
|
|
const e = event.data
|
|
switch (e.type) {
|
|
case "open":
|
|
$('body').show();
|
|
break;
|
|
case "getPlaylists":
|
|
e.songs.forEach((s, i) => {
|
|
$.getJSON('https://noembed.com/embed?url=', {format: 'json', url: s.link}, function (data) {
|
|
currentSongLabel = data.title;
|
|
s.label = currentSongLabel;
|
|
// console.log(s.label)
|
|
});
|
|
})
|
|
setTimeout(function() {
|
|
$('#playlists').html('')
|
|
var newHtml = $('#playlists').html()
|
|
e.playlists.forEach((v) => {
|
|
var songsHtml = ''
|
|
e.songs.forEach((s, i) => {
|
|
// console.log(s.playlist + ' == ' + v.id)
|
|
if (s.playlist == v.id) {
|
|
songsHtml = songsHtml + `<p class="song" id="song${s.id}" data-songid="${s.id}" data-link="${s.link}">${s.label}<i class="fas fa-trash-alt deleteSongs"></i></p>
|
|
`
|
|
// // console.log(songsHtml)
|
|
}
|
|
if (i == (Object.keys(e.songs).length-1)) {
|
|
// // console.log(123)
|
|
HighestPlayListId = v.id
|
|
newHtml += `
|
|
<div class="playlist" data-id="${v.id}">
|
|
<button id="playlist${v.id}" class="playlistButton">${v.label}<i class="fas fa-trash-alt deletePlaylist"></i></button>
|
|
<div id="songSpace${v.id}" class="songs" data-id="${v.id}" data-displayed="0">
|
|
${songsHtml}
|
|
</div>
|
|
</div>`
|
|
}
|
|
})
|
|
|
|
|
|
|
|
})
|
|
$('#playlists').html(newHtml)
|
|
}, 500);
|
|
$('#addPlaylist').html('')
|
|
var newHtml = $('#addPlaylist').html()
|
|
e.playlists.forEach((v) => {
|
|
newHtml += `<p class="addPlaylistButton" data-id="${v.id}">${v.label}</p>`
|
|
})
|
|
$('#addPlaylist').html(newHtml)
|
|
|
|
|
|
break;
|
|
case "updateSeconds":
|
|
perc = parseInt($('#timeLineInside').css('max-width'))/e.maxDuration
|
|
// console.log($('#timeLineInside').width()+perc)
|
|
$('#timeLineInside').width($('#timeLineInside').width()+perc)
|
|
if (e.secs > 59) {
|
|
var secs = Math.round((e.secs/60-Math.floor(e.secs/60))*60)
|
|
var min = Math.floor(e.secs/60)
|
|
if (secs < 10 && min < 10) $('#currentTime').text('0' + min + ':0' + secs)
|
|
else if (secs > 10 && min < 10) $('#currentTime').text('0' + min + ':' + secs)
|
|
else if (secs < 10 && min > 10) $('#currentTime').text(min + ':0' + secs)
|
|
else $('#currentTime').text(min + ':' + secs)
|
|
} else {
|
|
if (e.secs < 10) {
|
|
$('#currentTime').text( '00:0' + e.secs)
|
|
} else {
|
|
$('#currentTime').text( '00:' + e.secs)
|
|
}
|
|
}
|
|
|
|
$('#maxTime').text(Math.floor(e.maxDuration/60) + ':' + Math.round((e.maxDuration/60-Math.floor(e.maxDuration/60))*60))
|
|
if (e.maxDuration > 59) {
|
|
var secs = Math.round((e.maxDuration/60-Math.floor(e.maxDuration/60))*60)
|
|
var min = Math.floor(e.maxDuration/60)
|
|
if (secs < 10 && min < 10) $('#maxTime').text('0' + min + ':0' + secs)
|
|
else if (secs > 10 && min < 10) $('#maxTime').text('0' + min + ':' + secs)
|
|
else if (secs < 10 && min > 10) $('#maxTime').text(min + ':0' + secs)
|
|
else $('#maxTime').text(min + ':' + secs)
|
|
} else {
|
|
if (e.maxDuration < 10) {
|
|
$('#maxTime').text('00:0' + e.maxDuration)
|
|
} else {
|
|
$('#maxTime').text('00:' + e.maxDuration)
|
|
}
|
|
}
|
|
break;
|
|
case "updateSonginfos":
|
|
$.getJSON('https://noembed.com/embed?url=', {format: 'json', url: e.link}, function (data) {
|
|
currentSongLabel = data.title;
|
|
// whenDone(e.link);
|
|
insertSonghistory(e.link, currentSongLabel);
|
|
$('#maxTime').text(e.maxDuration)
|
|
$('#currentSong').text(currentSongLabel);
|
|
});
|
|
$('#timeLineInside').width("3%")
|
|
break;
|
|
default:
|
|
// console.log("this event doesn't exist");
|
|
break;
|
|
}
|
|
});
|
|
|
|
document.addEventListener("keydown", Close);
|
|
|
|
function Close(event) {
|
|
if (event.keyCode === 27) {
|
|
$('body').hide()
|
|
$.post('http://myDj/close', JSON.stringify({}));
|
|
}
|
|
}
|
|
|
|
var songs
|
|
var PlaylistIsVisible = false
|
|
var currentPlaylistId = 0
|
|
|
|
|
|
$(document).on('click', '.playlist', function() {
|
|
songs = $(this).find('.songs')
|
|
var bla = songs.find('p')
|
|
// console.log(songs.data('id') + ' ' + $(this, '.songs').data('id') + ' | ' + bla.html())
|
|
if (songs.data('id') == 'songhistory' && PlaylistIsVisible == false) {
|
|
if (songs.data("displayed") == 0) {
|
|
songs.css('display', 'block');
|
|
songs.css('margin-bottom', '1vh');
|
|
currentPlaylistId = songs.data('id')
|
|
songs.animate({height: '100%'});
|
|
setTimeout(function() {
|
|
// console.log('playlistsonghistory is visible')
|
|
songs.data("displayed", "1");
|
|
PlaylistIsVisible = true
|
|
}, 500);
|
|
}
|
|
} else if ($(this, '.songs').data('id') == songs.data('id') && PlaylistIsVisible == false && bla.html()) {
|
|
if (songs.data("displayed") == 0) {
|
|
songs.css('display', 'block');
|
|
songs.css('margin-bottom', '1vh');
|
|
currentPlaylistId = songs.data('id')
|
|
songs.animate({height: '100%'});
|
|
setTimeout(function() {
|
|
// console.log('songs are visible')
|
|
songs.data("displayed", "1");
|
|
PlaylistIsVisible = true
|
|
}, 500);
|
|
|
|
}
|
|
}
|
|
});
|
|
|
|
$(window).click(function(e) {
|
|
target = document.getElementById(e.target.id)
|
|
// console.log('click1 playlist' + currentPlaylistId + ' ' + target + ' ' + songs + ' ' + PlaylistIsVisible)
|
|
if (document.getElementById('playlist' + currentPlaylistId) == target && songs && PlaylistIsVisible) {
|
|
songs.animate({height: '0'});
|
|
songs.data("displayed", "0");
|
|
songs.css('margin-bottom', '0');
|
|
PlaylistIsVisible = false
|
|
}
|
|
});
|
|
|
|
|
|
|
|
var outside = document.getElementById('timeLineOutside');
|
|
var inside = document.getElementById('timeLineInside');
|
|
|
|
outside.addEventListener('click', function(e) {
|
|
inside.style.width = e.offsetX + "px";
|
|
var pct = Math.floor((e.offsetX / outside.offsetWidth) * 100);
|
|
// $.post('http://myDj/close', JSON.stringify({
|
|
// pct: pct
|
|
// }));
|
|
}, false);
|
|
|
|
function insertSonghistory(link, label) {
|
|
var elem = $('#songSpacesonghistory');
|
|
var html = elem.html()
|
|
// console.log('!!!!HIER!!! ' + elem.html())
|
|
if (html) {
|
|
elem.html(html + '<p id="songsonghistory" data-link="' + link + '">' + label + '<i class="fas fa-trash-alt"></i></p>')
|
|
// console.log('song added | 1 | ' + html + '<p id="songsonghistory" data-link="' + link + '">' + label + '<i class="fas fa-trash-alt"></i></p>')
|
|
} else {
|
|
elem.html('<p id="songsonghistory" data-link="' + link + '">' + label + '<i class="fas fa-trash-alt"></i></p>')
|
|
// console.log('song added | 2 | ' + '<p id="songsonghistory" data-link="' + link + '">' + label + '<i class="fas fa-trash-alt"></i></p>')
|
|
}
|
|
|
|
}
|
|
}); |