From 83d89751101f5970ef11533449eed174082b89e6 Mon Sep 17 00:00:00 2001 From: naomiaro Date: Tue, 21 Dec 2010 17:08:29 -0500 Subject: [PATCH] can drag to side playlist --- public/js/campcaster/library/library.js | 50 +++++++++++++++---------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/public/js/campcaster/library/library.js b/public/js/campcaster/library/library.js index addd11204..30a8bd378 100644 --- a/public/js/campcaster/library/library.js +++ b/public/js/campcaster/library/library.js @@ -10,7 +10,7 @@ function contextMenu(action, el, pos) { else if (method === 'add-item') { url = action + '/format/json'; url = url + '/id/' + $(el).attr('id'); - $.post(url, addToPlaylist); + $.post(url, setSPLContent); } } @@ -26,21 +26,6 @@ function deleteItem(json){ $("#library_display tr#" +id).remove(); } -function addToPlaylist(json){ - - if(json.message) { - alert(json.message); - return; - } - - $('#spl_name').empty() - .append(json.name); - $('#spl_length').empty() - .append(json.length); - $('#spl_sortable').empty() - .append(json.html); -} - function setLibraryContents(data){ $("#library_display tr:not(:first-child)").remove(); $("#library_display").append(data); @@ -56,6 +41,11 @@ function setLibraryContents(data){ function setSPLContent(json) { + if(json.message) { + alert(json.message); + return; + } + $('#spl_name').empty() .append(json.name); $('#spl_length').empty() @@ -64,6 +54,23 @@ function setSPLContent(json) { .append(json.html); } +function addSPLItem(event, ui){ + + var url, tr, id; + + tr = ui.helper; + + if(tr.get(0).tagName === 'LI') + return; + + id = tr.attr('id'); + + url = '/Playlist/add-item/format/json'; + url = url + '/id/'+id; + + $.post(url, setSPLContent); +} + function deleteSPLItem(){ var url, pos; @@ -126,14 +133,19 @@ $(document).ready(function() { $.post(url, setLibraryContents); }); - $("#library_display tr:not(:first-child)").contextMenu( - {menu: 'myMenu'}, contextMenu - ); + $("#library_display tr:not(:first-child)") + .contextMenu({menu: 'myMenu'}, contextMenu) + .draggable({ + helper: 'clone' + }); $("#spl_sortable").sortable(); $("#spl_sortable" ).bind( "sortstop", moveSPLItem); $("#spl_remove_selected").click(deleteSPLItem); + $("#spl_sortable").droppable(); + $("#spl_sortable" ).bind( "drop", addSPLItem); + $('input[name="all"]').click(function(){ $('form[name="SPL"]').find('input').attr("checked", $(this).attr("checked")); });