summaryrefslogtreecommitdiffstats
path: root/apps/media/js/playlist.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/media/js/playlist.js')
-rw-r--r--apps/media/js/playlist.js124
1 files changed, 17 insertions, 107 deletions
diff --git a/apps/media/js/playlist.js b/apps/media/js/playlist.js
index ad6c63a0333..778939db01c 100644
--- a/apps/media/js/playlist.js
+++ b/apps/media/js/playlist.js
@@ -2,49 +2,21 @@ PlayList.render=function(){
$('#playlist').show();
PlayList.parent.empty();
for(var i=0;i<PlayList.items.length;i++){
- var tr=PlayList.template.clone();
var item=PlayList.items[i];
- if(i==PlayList.current){
- tr.addClass('current');
- }
- tr.removeClass('template');
- tr.data('name',item.name);
- tr.data('artist',item.artist);
- tr.children('td.name').children('span').text(item.name);
- tr.children('td.artist').text(item.artist);
- tr.children('td.album').text(item.album);
- tr.data('index',i);
- tr.click(function(){
- PlayList.play($(this).data('index'));
- PlayList.render();
- });
- tr.hover(function(){
- var button=$('<img class="remove" title="'+t('media','Remove')+'"/>');
- button.attr('src',OC.imagePath('core','actions/delete'));
- $(this).children().last().append(button);
- button.click(function(event){
- event.stopPropagation();
- event.preventDefault();
- var index=$(this).parent().parent().data('index');
- PlayList.remove(index);
- });
- },function(){
- $(this).children().last().children('img.remove').remove();
- });
- tr.children('td.name').children('input').click(function(event){
+ var li=$('<li/>');
+ li.append(item.name);
+ var img=$('<img class="remove" src="'+OC.imagePath('core','actions/delete')+'"/>');
+ img.click(function(event){
event.stopPropagation();
- if($(this).attr('checked')){
- $(this).parent().parent().addClass('selected');
- if($('tbody td.name input:checkbox').length==$('tbody td.name input:checkbox:checked').length){
- $('#selectAll').attr('checked',true);
- }
- }else{
- $(this).parent().parent().removeClass('selected');
- $('#selectAll').attr('checked',false);
- }
- procesSelection();
+ PlayList.remove($(this).parent().data('index'));
+ });
+ li.click(function(event){
+ PlayList.play($(this).data('index'));
});
- PlayList.parent.append(tr);
+ li.append(img)
+ li.data('index',i);
+ li.addClass('song');
+ PlayList.parent.append(li);
}
}
PlayList.getSelected=function(){
@@ -55,78 +27,16 @@ PlayList.hide=function(){
}
$(document).ready(function(){
- PlayList.parent=$('#playlist tbody');
- PlayList.template=$('#playlist tr.template');
+ PlayList.parent=$('#leftcontent');
$('#selectAll').click(function(){
if($(this).attr('checked')){
// Check all
- $('tbody td.name input:checkbox').attr('checked', true);
- $('tbody td.name input:checkbox').parent().parent().addClass('selected');
+ $('#leftcontent li.song input:checkbox').attr('checked', true);
+ $('#leftcontent li.song input:checkbox').parent().addClass('selected');
}else{
// Uncheck all
- $('tbody td.name input:checkbox').attr('checked', false);
- $('tbody td.name input:checkbox').parent().parent().removeClass('selected');
+ $('#leftcontent li.song input:checkbox').attr('checked', false);
+ $('#leftcontent li.song input:checkbox').parent().removeClass('selected');
}
- procesSelection();
});
});
-
-function procesSelection(){
- var selected=PlayList.getSelected();
- if(selected.length==0){
- $('th.name span').text(t('media','Name'));
- $('th.artist').text(t('media','Artist'));
- $('th.album').text(t('media','Album'));
- $('th.time').text(t('media','Time'));
- $('th.plays').empty();
- $('th.plays').text(t('media','Plays'));
- }else{
- var name=selected.length+' '+t('media','selected');
- var artist=$(selected[0]).data('artist');
- var album=$(selected[0]).data('album');
- var time=$(selected[0]).data('time');
- var plays=$(selected[0]).data('plays');
- for(var i=1;i<selected.length;i++){
- var item=$(selected[i]);
- if(artist!='mixed' && item.data('artist')!==artist){
- artist='mixed'
- }
- if(album!='mixed' && item.data('album')!==album){
- album='mixed'
- }
- if(time!='mixed' && item.data('time')!==time){
- time='mixed'
- }
- if(plays!='mixed' && item.data('plays')!==plays){
- plays='mixed'
- }
- }
- $('th.name span').text(name);
- $('th.artist').text(artist);
- $('th.album').text(album);
- if(time!='mixed'){
- var secconds=(time%60);
- if(secconds<10){
- secconds='0'+secconds;
- }
- var time=Math.floor(time/60)+':'+secconds;
- }
- $('th.time').text(time);
- $('th.plays').text(plays);
- var button=$('<img class="remove" title="Remove"/>');
- button.attr('src',OC.imagePath('core','actions/delete'));
- $('th.plays').append(button);
- button.click(function(event){
- event.stopPropagation();
- event.preventDefault();
- PlayList.getSelected().each(function(index,element){
- var index=$(element).data('index');
- PlayList.items[index]=null;
- });
- PlayList.items=PlayList.items.filter(function(item){return item!==null});
- PlayList.render();
- PlayList.save();
- procesSelection();
- });
- }
-} \ No newline at end of file