Merge remote-tracking branch 'Concept211/master' into test

Conflicts:
	js/ui-ready.js
This commit is contained in:
Trevor Squillario 2012-09-28 15:35:06 -04:00
commit 9c5f0e37c5
4 changed files with 74 additions and 16 deletions

View file

@ -1,4 +1,4 @@
<!DOCTYPE HTML> <!DOCTYPE HTML>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@ -130,9 +130,14 @@
<div id="Playlists" class="smsection floatleft noselect"> <div id="Playlists" class="smsection floatleft noselect">
<div class="padder"> <div class="padder">
<ul id="AutoPlaylistContainer" class="simplelist mainlist"> <ul id="AutoPlaylistContainer" class="simplelist mainlist">
<li class="index" id="autoplaylist">Auto Playlists</li> <li class="index" id="autoplaylist">Genre Playlists</li>
<li class="item"><span>Random</span><div class="floatright"><a class="play" title="Play" href=""></a></div><div class="floatright"><a class="add" title="Add To Current Playlist" href=""></a></div></li> <li class="item" data-genre="Random"><span>Random</span><div class="floatright"><a class="play" title="Play" href="" data-genre="Random"></a></div><div class="floatright"><a class="add" title="Add To Current Playlist" href="" data-genre="Random"></a></div></li>
<li class="item" data-genre="Alternative"><span>Alternative</span><div class="floatright"><a class="play" title="Play" href="" data-genre="Alternative"></a></div><div class="floatright"><a class="add" title="Add To Current Playlist" href="" data-genre="Alternative"></a></div></li>
<li class="item" data-genre="Electronic"><span>Electronic</span><div class="floatright"><a class="play" title="Play" href="" data-genre="Electronic"></a></div><div class="floatright"><a class="add" title="Add To Current Playlist" href="" data-genre="Electronic"></a></div></li>
<li class="item" data-genre="Hip-Hop"><span>Hip-Hop</span><div class="floatright"><a class="play" title="Play" href="" data-genre="Hip-Hop"></a></div><div class="floatright"><a class="add" title="Add To Current Playlist" href="" data-genre="Hip-Hop"></a></div></li>
</ul> </ul>
<ul class="simplelist"><li class="index">Folder Playlists</li></ul>
<ul id="FolderContainer" class="simplelist mainlist"></ul>
<ul class="simplelist"><li class="index">Saved Playlists</li></ul> <ul class="simplelist"><li class="index">Saved Playlists</li></ul>
<ul id="PlaylistContainer" class="simplelist mainlist"></ul> <ul id="PlaylistContainer" class="simplelist mainlist"></ul>
</div> </div>

View file

@ -1,4 +1,4 @@
// Global Variables // Global Variables
var debug = false; var debug = false;
var audio = null; var audio = null;
var hostURL = location.href; var hostURL = location.href;
@ -85,6 +85,7 @@ function loadTabContent(tab) {
case '#tabPlaylists': case '#tabPlaylists':
if (debug) { console.log("TAG PLAYLIST"); } if (debug) { console.log("TAG PLAYLIST"); }
loadPlaylists(); loadPlaylists();
loadFolders();
break; break;
case '#tabPodcasts': case '#tabPodcasts':
if (debug) { console.log("TAG PODCAST"); } if (debug) { console.log("TAG PODCAST"); }

View file

@ -229,15 +229,25 @@ function getAlbumListBy(id) {
} }
}); });
} }
function getRandomSongList(action, appendto) { function getRandomSongList(action, appendto, genre, folder) {
var size; var size,gstring;
gstring = '';
if ($.cookie('AutoPlaylistSize') === null) { if ($.cookie('AutoPlaylistSize') === null) {
size = 25; size = 25;
} else { } else {
size = $.cookie('AutoPlaylistSize'); size = $.cookie('AutoPlaylistSize');
} }
if (genre !== undefined) {
gstring = '&genre=' + genre;
}
if (genre === 'Random') {
gstring = '';
}
if (folder !== undefined) {
gstring = '&musicFolderId=' + folder;
}
$.ajax({ $.ajax({
url: baseURL + '/getRandomSongs.view?u=' + username + '&p=' + password + '&v=' + version + '&c=' + applicationName + '&f=jsonp&size=' + size, url: baseURL + '/getRandomSongs.view?u=' + username + '&p=' + password + '&v=' + version + '&c=' + applicationName + '&f=jsonp&size=' + size + gstring,
method: 'GET', method: 'GET',
dataType: 'jsonp', dataType: 'jsonp',
timeout: 10000, timeout: 10000,
@ -399,6 +409,40 @@ function search(type, query) {
}); });
} }
function loadFolders(refresh) {
if (debug) { console.log("LOAD FOLDERS"); }
if (refresh) {
$('#FolderContainer').empty();
}
var content = $('#FolderContainer').html();
if (content === "") {
// Load Folders
$.ajax({
url: baseURL + '/getMusicFolders.view?u=' + username + '&p=' + password + '&v=' + version + '&c=' + applicationName + '&f=jsonp',
method: 'GET',
dataType: 'jsonp',
timeout: 10000,
success: function (data) {
var musicFolders = [];
if (data["subsonic-response"].musicFolders.musicFolder.length > 0) {
musicFolders = data["subsonic-response"].musicFolders.musicFolder;
} else {
musicFolders[0] = data["subsonic-response"].musicFolders.musicFolder;
}
$.each(musicFolders, function (i, musicFolder) {
var html = "";
html += '<li id=\"' + musicFolder.id + '\" class=\"item\" data-folder=\"' + musicFolder.id + '\">';
html += '<span>' + musicFolder.name + '</span>';
html += '<div class=\"floatright\"><a class=\"play\" href=\"\" data-folder=\"' + musicFolder.id + '\" title=\"Play\"></a></div>';
html += '<div class=\"floatright\"><a class=\"add\" href=\"\" data-folder=\"' + musicFolder.id + '\" title=\"Add To Current Playlist\"></a></div>';
html += '</li>';
$(html).appendTo("#FolderContainer");
});
}
});
}
}
function loadPlaylists(refresh) { function loadPlaylists(refresh) {
if (debug) { console.log("LOAD PLAYLISTS"); } if (debug) { console.log("LOAD PLAYLISTS"); }
if (refresh) { if (refresh) {

View file

@ -1,4 +1,4 @@
$(document).ready(function () { $(document).ready(function () {
//User config staff //User config staff
$('#Username').val($.cookie('username')); $('#Username').val($.cookie('username'));
//$('#Password').val($.cookie('passwordenc')); //$('#Password').val($.cookie('passwordenc'));
@ -402,18 +402,24 @@
return false; return false;
}); });
// Playlist Click Events // Playlist Click Events
$('#AutoPlaylistContainer li.item').live('click', function () { $('#AutoPlaylistContainer li.item, #FolderContainer li.item').live('click', function () {
$('#AutoPlaylistContainer li').removeClass('selected'); $('#AutoPlaylistContainer li').removeClass('selected');
$('#PlaylistContainer li').removeClass('selected'); $('#PlaylistContainer li').removeClass('selected');
$(this).addClass('selected'); $(this).addClass('selected');
getRandomSongList('', '#TrackContainer'); var genre = $(this).data('genre');
var folder = $(this).data('folder');
getRandomSongList('', '#TrackContainer', genre, folder);
}); });
$('#AutoPlaylistContainer li.item a.play').live('click', function () { $('#AutoPlaylistContainer li.item a.play, #FolderContainer li.item a.play').live('click', function () {
getRandomSongList('autoplay', '#CurrentPlaylistContainer'); var genre = $(this).data('genre');
var folder = $(this).data('folder');
getRandomSongList('autoplay', '#CurrentPlaylistContainer', genre, folder);
return false; return false;
}); });
$('#AutoPlaylistContainer li.item a.add').live('click', function () { $('#AutoPlaylistContainer li.item a.add, #FolderContainer li.item a.add').live('click', function () {
getRandomSongList('', '#CurrentPlaylistContainer'); var genre = $(this).data('genre');
var folder = $(this).data('folder');
getRandomSongList('', '#CurrentPlaylistContainer', genre, folder);
return false; return false;
}); });
$('#PlaylistContainer li.item').live('click', function () { $('#PlaylistContainer li.item').live('click', function () {
@ -437,6 +443,7 @@
}); });
$('#action_RefreshPlaylists').click(function () { $('#action_RefreshPlaylists').click(function () {
loadPlaylists(true); loadPlaylists(true);
loadFolders(true);
return false; return false;
}); });
$('#action_DeletePlaylist').click(function () { $('#action_DeletePlaylist').click(function () {
@ -680,3 +687,4 @@
}).disableSelection(); }).disableSelection();
}); // End document.ready }); // End document.ready