';
// $("#player").append(strList);
}
});
if (i === 0){ //Si no hay ningún player simple // 0 (no tiene ningún player modo simple) para que no quede en blanco la página, mostraremos imagen
var strList = '
'+
'
'+
''+
'
Oops!
'+
'
There is no player created yet.
'+
'
'+
'
';
$("#player").append(strList);
}else{
$("#player").contextMenu({
selector: 'li',
callback: function(key, options) {
idPlayer = options.$trigger.data("id");
localStorage.setItem('idPlayer', idPlayer);
namePlayer = options.$trigger.data("name");
localStorage.setItem('namePlayer', namePlayer);
if(key=="open"){
checkToken(function(done){
if(done){
window.location.hash = '#player-page';
}
});
}
if(key=="edit"){
checkToken(function(done){
if(done){
playerInfoAreaPage();
}
});
}
if(key=="delete"){
checkToken(function(done){
if(done){
deletePlayer();
}
});
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
$('#pagination-container-players').pagination({
dataSource: arrDataPlv,
prevText: '',
nextText: '',
pageSize: 15,
pageRange: 1,
callback: function(data, pagination) {
orderObj.players = [];
// template method of yourself
var html = template(data);
$("#player").html(html);
//Recorremos todos los li de players, para llenar el objeto que sirve para cambir el orden de la lista
setTimeout(function(){
$('#player > li').each(function(){
orderObj.players.push({
id: $(this).data("id"),
name: $(this).data("name"),
status: $(this).find('.img span')[0].classList[1],
download: $(this).find('ul.infoRow li:eq(0)').html(),
description: $(this).find('ul.infoRow li:eq(1)').html()
})
});
},100);
$('#spinner').css("display", "");
}
})
function template(data) {
var html = "";
$.each(data, function(index, item){
html += item;
});
return html;
}
}
}else{
var strList = '
'+
'
'+
''+
'
Oops!
'+
'
There is no player created yet.
'+
'
'+
'
';
$("#player").append(strList);
}
searchItemsPagination(arrSearch, "#autocomplete_player", "#player");
tipRight();
var strTabs =
''+
'';
$(".tabs").html(strTabs);
setTimeout(function(){
tabs($('button:contains("schedules")'), 'schedules');
$(".tabs").addClass("active");
},100);
$('#spinner').css("display", "");
});
$( "main" ).load( window.location.protocol+"/route/player-list/player-list.html", function() { d_Main.resolve(); });
}
function albumList() {
if ( $("#info_area").hasClass("showInfo")) hideInfo();
$('#spinner').css("display", "flex");
var d_Main = $.Deferred();
$('#infoPag').html("Album List");
$('.nav ').removeClass("active");
$('.albums.nav ').addClass("active");
$( "nav" ).removeClass( "visible" );
$.when( getAlbumsBlock(), d_Main ).done(function(albums) {
albums = albums[0];
$("#album").html("");
orderObj.albums = [];
if (albums.data.length>0){
albums.data.sort(function(a, b) {
var nameA = a.name.toUpperCase(); // ignore upper and lowercase
var nameB = b.name.toUpperCase(); // ignore upper and lowercase
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
// names must be equal
return 0;
});
$.each(albums.data, function( index, album ) {
var strList='
';
});
html += '';
return html;
}
$("#album-info button:eq(0)").on('click', function(e){
e.preventDefault();
if ($.trim($('#titleAlbum').val())!=="") {
newData = [parseInt($('#idHide').val()),$.trim($('#titleAlbum').val()),$.trim($('#descAlbum').val()),parseInt($('#album-info input[name=playMode]:checked').val())]
if (!arrEvery(data, newData)) {
checkToken(function(done){
if(done){
modifyAlbum(newData[0],newData[1],newData[2],newData[3]);
}
});
}
}else{
swal({
position: 'top-end',
type: 'error',
html: 'The name field is required',
showConfirmButton: true,
customClass: 'notify',
toast: true,
});
}
})
chargeTyppyInput();
$("#album-page .edit").click(function(){
if (!$("#info_area").hasClass("showInfo")) albumInfoAreaPage();
})
$("#files_to_upload ul").disableSelection();
fileInput = $('input#upload-input')[0];
dragToUpload();
tipLeft();
var strTabs =
''+
'';
$(".tabs").html(strTabs);
setTimeout(function(){
tabs($('button:contains("tracks")'), 'tracks');
$(".tabs").addClass("active");
},100);
});
$('main').load( window.location.protocol+"/route/album-page/album-page.html", function() { d_Main.resolve(); });
$( "#info_area" ).load( window.location.protocol+"/route/album-info/album-info.html", function() { d_Info.resolve(); });
}
function schedulePage() {
var d_Main = $.Deferred();
var d_Info = $.Deferred();
$('#infoPag').html("Schedule Detail");
$('.nav ').removeClass("active");
$('.schedules.nav ').addClass("active");
$( "nav" ).removeClass( "visible" );
/////////////////////////////////////////////////////
//Si el usuario accede con la url directa #schedule-page o ha retrocedido con el navagedor y se acaba de eliminar una schedule, rederigimos a scheduleList
if (idSchedule === ""){
window.location.hash = '#schedule-list';
return false;
}
///////////////////////////////////////////////////
$.when(getSchedule(), getSchedulePlaylist(), d_Main, d_Info).done(function(schedule, schedulePlaylist) {
$('#spinner').css("display", "flex");
if ( $("#info_area").hasClass("showInfo")) hideInfo();
schedule = schedule[0];
schedulePlaylist = schedulePlaylist[0];
var ajaxReqsPlayList = [];
var idsPlaylistSchedule = {};
var daysNameWeek = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
//ordeanamos el data que recibimos de las playlists dentro del schedule, por la propiedad week para que vaya de lunes a domingo
schedulePlaylist.data.sort(function(a, b) {
var weekA = a.week;
var weekB = b.week;
if (weekA > weekB) {
return -1;
}
if (weekA < weekB) {
return 1;
}
// names must be equal
return 0;
});
$.each(schedulePlaylist.data, function( index, playlist ) {
idsPlaylistSchedule[daysNameWeek[index]] = playlist.playlist.id;
ajaxReqsPlayList.push(
$.ajax({
type:'GET',
dataType: "json",
crossDomain: true,
url: APIWEB_URL+"playlist/"+playlist.playlist.id+"/content?access_token="+localStorage.getItem('access_token')+"&project_id="+localStorage.getItem('project_id'),
})
);
});
$.when.apply($, ajaxReqsPlayList).then(function(Mon,Tue,Wed,Thu,Fri,Sat,Sun){
var events = [];
for(var i=0; i < arguments.length; i++){
// console.log(i, arguments[i][0].data);
$.each(arguments[i][0].data, function( index, content ) {
// console.log(index, content)
if (content.contentType === 1) { // si el contenido es tipo block
events.push(
{
idContent: content.id,
idBlock: content.content.id,
title: content.content.name,
start: daysOfWeek[daysNameWeek[i]]+'T'+moment().startOf('day').add(content.startHour, 'minutes').format('HH:mm:ss'),
end: daysOfWeek[daysNameWeek[i]]+'T'+moment().startOf('day').add(content.endHour, 'minutes').format('kk:mm:ss'),
dragged: false
}
);
}
});
}
loadSchedule(events, idsPlaylistSchedule); //funcion encargada del pintar de fullcalendar, params el array de los eventos un objecto con el id de la playlist para cada semana
});
//dos arrays para comparar si hay disferencía en la propiedades del schedule. A continuación está la función que las compara
var data = [schedule.data[0].id,schedule.data[0].name,schedule.data[0].description];
var newData = [];
function arrEvery(a1,a2) {
return a1.every(function (v, i) {
return v === a2[i];
});
}
$('#schedule-page h1').html(schedule.data[0].name);
$('#schedule-page h2').html(schedule.data[0].description);
$('#schedule-info li:eq(0)').find('span').html(schedule.data[0].name);
$('#schedule-info li:eq(1)').find('span').html(schedule.data[0].lastUpdate);
$("#titleSchedule").val(schedule.data[0].name);
$("#descSchedule").val(schedule.data[0].description);
$("#schedule-info input[type=hidden]").val(schedule.data[0].id);
$('#schedule-page button.edit').click(function(){
scheduleInfoAreaPage();
});
$("#schedule-info button:eq(0)").on('click', function(e){
e.preventDefault();
if ($.trim($('#titleSchedule').val())!=="") {
newData = [parseInt($('#idHideS').val()),$.trim($('#titleSchedule').val()),$.trim($('#descSchedule').val())]
if (!arrEvery(data, newData)) {
modifySchedule(newData[0],newData[1],newData[2])
}
}else{
swal({
position: 'top-end',
type: 'error',
html: 'The name field is required',
showConfirmButton: true,
customClass: 'notify',
toast: true,
});
}
})
chargeTyppyInput();
tipLeft();
var strTabs =
''+
'';
$(".tabs").html(strTabs);
setTimeout(function(){
tabs($('button:contains("albums")'), 'albums');
$(".tabs").addClass("active");
},100);
});
$( "main" ).load( window.location.protocol+"/route/schedule-page/schedule-page.html", function() { d_Main.resolve(); });
$( "#info_area" ).load( window.location.protocol+"/route/schedule-info/schedule-info.html", function() { d_Info.resolve(); });
}
function errorPage() {
if ( $("#info_area").hasClass("showInfo")) hideInfo();
$('#spinner').css("display", "flex");
var d_Main = $.Deferred();
$.when(d_Main).done(function() {
$('#spinner').css("display", "");
});
$( "main" ).load( window.location.protocol+"/route/error-page/error-page.html", function() { d_Main.resolve(); });
}
//secciones indivuales info area
function trackInfoAreaPage() {
hideInfo();
$('#spinner').css("display", "flex");
var d_Info = $.Deferred();
$.when(getContent(), d_Info).done(function(content) {
content = content[0];
// jsmediatags.read('https://apilb.admira.com/videos/original/'+localStorage.getItem('project_id')+'/'+idTrack+'/'+content.data[0].filename, {
// onSuccess: function(metadata) {
// console.log(metadata);
// var tags = metadata.tags;
// var withTagString = false; //solo mostraremos tooltip de metadatos si en tags, ya encontramos los metadatos (si hay que buscarlos dentro de otro objeto, no lo mostramos)
// $.each (tags, function(key,tag){
// if (typeof(tag)!== "string") return;
// if (!withTagString) withTagString = true;
// key = key.charAt(0).toUpperCase() + key.slice(1);
// $('#metadata ul').append('
'+key+':'+tag+'
');
// });
// if( "picture" in tags ) {
// var image = tags.picture;
// var base64String = "";
// for (var i = 0; i < image.data.length; i++) {
// base64String += String.fromCharCode(image.data[i]);
// }
// // $('#metadata ul').append('');
// $('').attr({
// src: 'data:' + image.format + ';base64,' + window.btoa(base64String),
// alt: 'Artwork'
// }).css({
// 'display':'flex',
// 'width': '100%',
// 'height': 'auto',
// 'max-width': '150px'
// }).appendTo('#metadata');
// // $('#art').attr('src', 'data:' + image.format + ';base64,' + window.btoa(base64String));
// // $('#art').css({'display':'block',
// // 'width': '100%',
// // 'height': 'auto'
// // });
// }
// $('#spinner').css("display", "");
// if (withTagString){
// tippy('#btn_meta', {
// html: document.getElementById('metadata'),
// size: 'medium',
// arrow: true,
// placement: 'right',
// });
// $('#btn_meta').css("display", "flex");
// }
// },
// onError: function(error) {
// console.log(error);
// $('#spinner').css("display", "");
// }
// });
var duration = moment().startOf('day').seconds(content.data[0].duration).format('H') !== "0" ? moment().startOf('day').seconds(content.data[0].duration).format('HH:mm:ss') : moment().startOf('day').seconds(content.data[0].duration).format('mm:ss');
var data = [content.data[0].id,content.data[0].title];
var newData = [];
function arrEvery(a1,a2) {
return a1.every(function (v, i) {
return v === a2[i];
});
}
var extension = content.data[0].filename.slice((content.data[0].filename.lastIndexOf(".") - 1 >>> 0) + 2);
$('#track-info li:eq(0)').html(content.data[0].title+"."+extension);
$('#track-info li:eq(1)').append(extension.charAt(0).toUpperCase() + extension.slice(1));
$("#titleContent").val(content.data[0].title);
$('#track-info input:eq(2)').val(duration);
$("#track-info .buttons button:eq(0)").on('click', function(e){
e.preventDefault();
if ($.trim($('#titleContent').val())!=="") {
newData = [parseInt($('#idHideC').val()),$.trim($('#titleContent').val())]
if (!arrEvery(data, newData)) {
modifyContent(newData[0],newData[1])
}
}else{
swal({
position: 'top-end',
type: 'error',
html: 'The title field is required',
showConfirmButton: true,
customClass: 'notify',
toast: true,
});
}
})
$("#track-info button:eq(1)").on('click', function(e){
e.preventDefault();
assingTrack();
})
$('#track-info button:eq(2)').click(function(){
//Creamos un blow del contenido para usarlo para descarga (saveAs) , para evitar problemas CORS
var blob = new Blob(['https://apilb.admira.com/videos/original/'+localStorage.getItem('project_id')+'/'+idTrack+'/'+content.data[0].filename], {type: 'audio/mpeg'});
saveAs(blob, content.data[0].title+'.'+extension);
})
$("#track-info button:eq(3)").on('click', function(e){
e.preventDefault();
deleteTrack();
})
showInfo();
// tabs($('button:contains("albums")'), 'albums');
chargeTyppyInput();
$('#spinner').css("display", "");
});
$( "#info_area" ).load( window.location.protocol+"/route/track-info/track-info.html", function() { d_Info.resolve(); });
}
function albumInfoAreaPage() {
$('#spinner').css("display", "flex");
var d_Info = $.Deferred();
$.when(getAlbumBlock(), d_Info).done(function(album) {
album = album[0];
//dos arrays para comparar si hay diferencía en la propiedades del álbum y la función que las compara
var data = [album.data[0].id,album.data[0].name,album.data[0].description,album.data[0].playMode];
var newData = [];
function arrEvery(a1,a2) {
return a1.every(function (v, i) {
return v === a2[i];
});
}
$('#album-info li:eq(0)').find('span').html(album.data[0].name);
$('#album-info li:eq(1)').find('span').html(album.data[0].lastUpdate);
$('#album-info li:eq(2)').find('span').html(album.data[0].content);
$("#titleAlbum").val(album.data[0].name);
$("#descAlbum").val(album.data[0].description);
$("#album-info input[value='"+album.data[0].playMode+"']").attr( 'checked', 'checked');
$("#album-info input[type=hidden]").val(album.data[0].id);
$('#spinner').css("display", "");
showInfo();
$("#album-info button:eq(0)").on('click', function(e){
e.preventDefault();
if ($.trim($('#titleAlbum').val())!=="") {
newData = [parseInt($('#idHide').val()),$.trim($('#titleAlbum').val()),$.trim($('#descAlbum').val()),parseInt($('#album-info input[name=playMode]:checked').val())]
if (!arrEvery(data, newData)) {
modifyAlbum(newData[0],newData[1],newData[2],newData[3])
}
}else{
swal({
position: 'top-end',
type: 'error',
html: 'The name field is required',
showConfirmButton: true,
customClass: 'notify',
toast: true,
});
}
})
chargeTyppyInput();
});
$( "#info_area" ).load( window.location.protocol+"/route/album-info/album-info.html", function() { d_Info.resolve(); });
}
function scheduleInfoAreaPage() {
$('#spinner').css("display", "flex");
var d_Info = $.Deferred();
$.when(getSchedule(), d_Info).done(function(schedule) {
schedule = schedule[0];
//dos arrays para comparar si hay diferencía en la propiedades del schedule. A continuación está la función que las compara
var data = [schedule.data[0].id,schedule.data[0].name,schedule.data[0].description];
var newData = [];
function arrEvery(a1,a2) {
return a1.every(function (v, i) {
return v === a2[i];
});
}
$('#schedule-info li:eq(0)').find('span').html(schedule.data[0].name);
$('#schedule-info li:eq(1)').find('span').html(schedule.data[0].lastUpdate);
$("#titleSchedule").val(schedule.data[0].name);
$("#descSchedule").val(schedule.data[0].description);
$("#schedule-info input[type=hidden]").val(schedule.data[0].id);
$('#spinner').css("display", "");
showInfo();
$("#schedule-info button:eq(0)").on('click', function(e){
e.preventDefault();
newData = [parseInt($('#idHideS').val()),$.trim($('#titleSchedule').val()),$.trim($('#descSchedule').val())]
if (!arrEvery(data, newData)) {
modifySchedule(newData[0],newData[1],newData[2])
}
})
$("#schedule-info button:eq(1)").on('click', function(e){
e.preventDefault();
assingScheduleMultiple();
})
chargeTyppyInput();
});
$( "#info_area" ).load( window.location.protocol+"/route/schedule-info/schedule-info.html", function() { d_Info.resolve(); });
}
function playerInfoAreaPage() {
$('#spinner').css("display", "flex");
var d_Info = $.Deferred();
$.when(getPlayer(), getInfoPlayer(), getConfPlayer(), d_Info).done(function(player, player_info, player_conf) {
player= player[0];
player_info = player_info[0];
player_conf = player_conf[0];
var data = [player.data[0].id,player.data[0].name,player_info.data[0].location,player.data[0].nick, player_conf.data.volume, player_conf.data.advancedVideoSmoothing];
var newData = [];
function arrEvery(a1,a2) {
return a1.every(function (v, i) {
return v === a2[i];
});
}
$("#player-info input:eq(0)").val(player.data[0].name);
$("#player-info input:eq(1)").val(player_info.data[0].location);
$("#player-info textarea").val(player.data[0].nick);
$("#player-info input[type=hidden]").val(player.data[0].id);
$("#player-info button:eq(0)").on('click', function(e){
e.preventDefault();
if ( $.trim($('#namePlayer').val())==="" || $.trim($('#descPlayer').val())==="") {
swal({
position: 'top-end',
type: 'error',
html: 'The name and description field are required.',
showConfirmButton: true,
customClass: 'notify',
toast: true,
});
}else{
var crossfade;
if ( $('#crossfadeSwitch').is(':checked') ) {
crossfade = parseFloat($('#valCross').html())*1000;
} else {
crossfade = 0;
}
newData = [parseInt($('#idHideP').val()),$.trim($('#namePlayer').val()),$.trim($('#locationPlayer').val()),$.trim($('#descPlayer').val()),parseInt($('#valVolume').html()),crossfade]
if (!arrEvery(data, newData)) {
modifyPlayer(newData[0],newData[1],newData[2],newData[3],newData[4],newData[5])
}
}
})
chargeTyppyInput();
var valueVolume = player_conf.data.volume;
var valueCrossfade = player_conf.data.advancedVideoSmoothing;
if(player_conf.data.advancedVideoSmoothing > 1) {
$('#crossfadeSwitch').prop('checked', true );
} else {
valueCrossfade = 0;
$('.slider:eq(2)').css('display','none');
}
sliders(valueVolume, valueCrossfade);
$('#spinner').css("display", "");
showInfo();
});
$( "#info_area" ).load( window.location.protocol+"/route/player-info/player-info.html", function() { d_Info.resolve(); });
}
function sourceArea () {
var d_SourceArea = $.Deferred();
//Funcion para eliminar contenido duplicado (para pintar los contenidos del proyecto)
function removeDuplicatesBy(keyFn, array) {
var mySet = new Set();
return array.filter(function(x) {
var key = keyFn(x),
isNew = !mySet.has(key);
if (isNew) mySet.add(key);
return isNew;
});
}
//controlamos en que vista estamos para listar el contenido necesario en los tabs
switch(window.location.hash){
default:
case "#player-list":
//solo listo schedules
$.when(getSchedules(), d_SourceArea).done(function(schedules) {
$("#schedules > div").html("");
schedules = schedules[0];
$.each(schedules.data, function( index, schedule ) {
//alert( index + ": " + value );
var strList =
'
'+
''+
''+schedule.name+''+
'
';
$("#schedules > div").append(strList);
});
$('.contextSourceSchedule').click(function(e){
e.preventDefault();
idSchedule = $(this).data("id");
localStorage.setItem('idSchedule', idSchedule);
nameSchedule = $(this).data("name");
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
if (window.location.hash !== "#schedule-page") {
window.location.hash = '#schedule-page';
}else{ // si ya estamos en #schedule-page, no habrá el evento hashchange, así que tenemos que llamar a la función
schedulePage();
}
}
});
});
$("#schedules").contextMenu({
selector: 'ul',
callback: function(key, options) {
idSchedule = options.$trigger.data("id");
nameSchedule = options.$trigger.data("name");
if(key=="open"){
localStorage.setItem('idSchedule', idSchedule);
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
if (window.location.hash !== "#schedule-page") {
window.location.hash = '#schedule-page';
}else{ // si ya estamos en #schedule-page, no habrá el evento hashchange, así que tenemos que llamar a la función
schedulePage();
}
}
});
}
if(key=="edit"){
localStorage.setItem('idSchedule', idSchedule);
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
scheduleInfoAreaPage();
}
});
}
if(key=="delete"){
checkToken(function(done){
if(done){
deleteSchedule(idSchedule);
}
});
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
// return true;
});
break;
case "#player-page":
//solo listo schedules
$.when(getSchedules(), d_SourceArea).done(function(schedules) {
$("#schedules > div").html("");
schedules = schedules[0];
$.each(schedules.data, function( index, schedule ) {
//alert( index + ": " + value );
var strList =
'
'+
''+
''+schedule.name+''+
''+
'
';
$("#schedules > div").append(strList);
});
$('.contextSourceSchedule').click(function(e){
e.preventDefault();
idSchedule = $(this).data("id");
localStorage.setItem('idSchedule', idSchedule);
nameSchedule = $(this).data("name");
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
if (window.location.hash !== "#schedule-page") {
window.location.hash = '#schedule-page';
}else{ // si ya estamos en #schedule-page, no habrá el evento hashchange, así que tenemos que llamar a la función
schedulePage();
}
}
});
});
$('#schedules .dragelement').each(function() {
// // store data so the calendar knows to render an event upon drop
// $(this).data('event', {
// title: $.trim($(this).parent().text()), // use the element's text as the event title
// stick: true, // maintain when user navigates (see docs on the renderEvent method)
// idAD: $(this).parent().data("id")
// });
// make the event draggable
$(this).draggable({
zIndex: 9999,
helper: function(){
return $('
';
$("#tracks ul").append(strList);
});
});
break;
case "#album-page":
//tracks y albums
$.when(getAlbumsBlock(), getContents(), d_SourceArea).done(function(albums, contents) {
$("#albums").html("");
albums = albums[0];
contents = contents[0];
$.each(removeDuplicatesBy(function(x) {
return x.fileHash; }, contents.data), function( index, content ) {
var strList =
'
'+
''+
content.title+
''+
'
';
$("#tracks ul").append(strList);
});
$.each(albums.data, function( index, album ) {
//alert( index + ": " + value );
var strList =
'
'+
'
'+
'
'+
''+album.name+''+
'
'+
''+
''+
'
';
$("#albums").append(strList);
});
$('.accordion').find('.accordion-toggle').click(function(e){
e.preventDefault();
if (accordionCanPush) {
if($(this).next().css("display")=="none") {
accordionCanPush = false;
var id_playlist=$(this).data("id");
idAlbum = id_playlist;
localStorage.setItem('idAlbum', idAlbum);
nameAlbum = $(this).data("name");
localStorage.setItem('nameAlbum', nameAlbum);
var albumAccordion = $(this);
checkToken(function(done){
if(done){
$('#spinner').css("display", "flex");
getTracksForAccordion(albumAccordion);
}
});
}else{
//Hide panels
$(this).next().stop().slideUp('slow');
}
$(".accordion-toggle").each(function(){
$(this).css('background-color','');
})
// //Expand or collapse this panel
// $(this).next().stop().slideToggle('slow');
// //Hide the other panels
$(".accordion-content").not($(this).next()).stop().slideUp('fast');
}
});
$("#albums").contextMenu({
selector: 'ul',
callback: function(key, options) {
idAlbum = options.$trigger.data("id");
nameAlbum = options.$trigger.data("name");
if(key=="open"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
if (window.location.hash !== "#album-page") {
window.location.hash = '#album-page';
}else{ // si ya estamos en #album-page, el no hará el evento hashchange, así que tenemos que llamar a la función
albumPage();
}
}
});
}
if(key=="edit"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
albumInfoAreaPage();
}
});
}
if(key=="delete"){
deleteAlbum(idAlbum);
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
// return true;
});
break;
case "#schedule-list":
//solo albums
$.when(getAlbumsBlock(), d_SourceArea).done(function(albums) {
$("#albums").html("");
albums = albums[0];
$.each(albums.data, function( index, album ) {
//alert( index + ": " + value );
var strList =
'
'+
'
'+
'
'+
''+album.name+''+
'
'+
''+
''+
'
';
$("#albums").append(strList);
});
$('.accordion').find('.accordion-toggle').click(function(e){
e.preventDefault();
if (accordionCanPush) {
if($(this).next().css("display")=="none") {
accordionCanPush = false;
var id_playlist=$(this).data("id");
// console.log(id_playlist);
idAlbum = id_playlist;
localStorage.setItem('idAlbum', idAlbum);
nameAlbum = $(this).data("name");
localStorage.setItem('nameAlbum', nameAlbum);
var albumAccordion = $(this);
checkToken(function(done){
if(done){
$('#spinner').css("display", "flex");
getTracksForAccordion(albumAccordion);
}
});
}else{
//Hide panels
$(this).next().stop().slideUp('slow');
}
$(".accordion-toggle").each(function(){
$(this).css('background-color','');
})
// //Expand or collapse this panel
// $(this).next().stop().slideToggle('slow');
// //Hide the other panels
$(".accordion-content").not($(this).next()).stop().slideUp('fast');
}
});
$("#albums").contextMenu({
selector: 'ul',
callback: function(key, options) {
idAlbum = options.$trigger.data("id");
nameAlbum = options.$trigger.data("name");
if(key=="open"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
if (window.location.hash !== "#album-page") {
window.location.hash = '#album-page';
}else{ // si ya estamos en #album-page, el no hará el evento hashchange, así que tenemos que llamar a la función
albumPage();
}
}
});
}
if(key=="edit"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
albumInfoAreaPage();
}
});
}
if(key=="delete"){
deleteAlbum(idAlbum);
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
// return true;
});
break;
case "#schedule-page":
//albums y schedules
$.when(getAlbumsBlock(), getSchedules(), d_SourceArea).done(function(albums, schedules) {
$("#albums").html("");
$("#schedules > div").html("");
albums = albums[0];
schedules = schedules[0];
// console.log(schedules)
//bloque álbums
$.each(albums.data, function( index, album ) {
//alert( index + ": " + value );
var strList =
'
'+
'
'+
'
'+
''+album.name+''+
''+
'
'+
''+
''+
'
';
$("#albums").append(strList);
});
$('#albums .dragelement').each(function() {
// store data so the calendar knows to render an event upon drop
$(this).data('event', {
title: $.trim($(this).parent().text()), // use the element's text as the event title
stick: true, // maintain when user navigates (see docs on the renderEvent method)
idBlock: $(this).parent().data("id"),
dragged: true
});
// make the event draggable
$(this).draggable({
zIndex: 9999,
helper: function(){
return $('
'+$(this).parent().data("name")+'
');
},
start: function() {
$('.dropzone').css({'background-color':'#fffcef'});
},
scroll: false,
appendTo: 'body',
revert: 'true',
opacity: "0.8",
revertDuration: 200,
});
});
$('.accordion').find('.accordion-toggle').click(function(e){
e.preventDefault();
if (accordionCanPush) {
if($(this).next().css("display")=="none") {
accordionCanPush = false;
var id_playlist=$(this).data("id");
// console.log(id_playlist);
idAlbum = id_playlist;
localStorage.setItem('idAlbum', idAlbum);
nameAlbum = $(this).data("name");
localStorage.setItem('nameAlbum', nameAlbum);
var albumAccordion = $(this);
checkToken(function(done){
if(done){
$('#spinner').css("display", "flex");
getTracksForAccordion(albumAccordion);
}
});
}else{
//Hide panels
$(this).next().stop().slideUp('slow');
}
$(".accordion-toggle").each(function(){
$(this).css('background-color','');
})
// //Expand or collapse this panel
// $(this).next().stop().slideToggle('slow');
// //Hide the other panels
$(".accordion-content").not($(this).next()).stop().slideUp('fast');
}
});
$("#albums").contextMenu({
selector: 'ul',
callback: function(key, options) {
idAlbum = options.$trigger.data("id");
nameAlbum = options.$trigger.data("name");
if(key=="open"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
if (window.location.hash !== "#album-page") {
window.location.hash = '#album-page';
}else{ // si ya estamos en #album-page, el no hará el evento hashchange, así que tenemos que llamar a la función
albumPage();
}
}
});
}
if(key=="edit"){
localStorage.setItem('idAlbum', idAlbum);
localStorage.setItem('nameAlbum', nameAlbum);
checkToken(function(done){
if(done){
albumInfoAreaPage();
}
});
}
if(key=="delete"){
deleteAlbum(idAlbum);
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
//bloque schedules
$.each(schedules.data, function( index, schedule ) {
//alert( index + ": " + value );
var strList =
'
'+
''+
''+schedule.name+''+
'
';
$("#schedules > div").append(strList);
});
$('.contextSourceSchedule').click(function(e){
e.preventDefault();
idSchedule = $(this).data("id");
localStorage.setItem('idSchedule', idSchedule);
nameSchedule = $(this).data("name");
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
if (window.location.hash !== "#schedule-page") {
window.location.hash = '#schedule-page';
}else{ // si ya estamos en #schedule-page, no habrá el evento hashchange, así que tenemos que llamar a la función
schedulePage();
}
}
});
});
$("#schedules").contextMenu({
selector: 'ul',
callback: function(key, options) {
idSchedule = options.$trigger.data("id");
nameSchedule = options.$trigger.data("name");
if(key=="open"){
localStorage.setItem('idSchedule', idSchedule);
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
if (window.location.hash !== "#schedule-page") {
window.location.hash = '#schedule-page';
}else{ // si ya estamos en #album-page, no habrá el evento hashchange, así que tenemos que llamar a la función
schedulePage();
}
}
});
}
if(key=="edit"){
localStorage.setItem('idSchedule', idSchedule);
localStorage.setItem('nameSchedule', nameSchedule);
checkToken(function(done){
if(done){
scheduleInfoAreaPage();
}
});
}
if(key=="delete"){
checkToken(function(done){
if(done){
deleteSchedule(idSchedule);
}
});
}
},
items: {
"open": {name: "Open"},
"edit": {name: "Edit"},
"delete": {name: "Delete"},
}
});
});
break;
} //fin switch
$( "#source_area" ).load( window.location.protocol+"/source-area.html", function() { d_SourceArea.resolve(); });
}
//funciones relacionadas con la carga de diferentes partes de la página
function getTracksForAccordion(album){
// console.log(album)
$.when( getSourceTracksBlock() ).done(function(tracks) {
$(".accordion-content[data-id='"+idAlbum+"']").html("");
if (tracks.data.content.length>0){
$.each(tracks.data.content, function( index, track ) {
//alert( index + ": " + track );
var strList='