nextcloud/apps/media/js/scanner.js

45 lines
1.1 KiB
JavaScript

Scanner={
songsFound:0,
eventSource:null,
songsScanned:0,
findSongs:function(ready){
$.getJSON(OC.linkTo('media','ajax/api.php')+'?action=find_music',function(songs){
Scanner.songsFound=songs.length;
if(ready){
ready(songs);
}
});
},
scanCollection:function(ready){
$('#scanprogressbar').progressbar({
value:0,
});
$('#scanprogressbar').show();
Scanner.songsScanned=0;
Scanner.eventSource=new OC.EventSource(OC.linkTo('media','ajax/api.php'),{action:'scan'});
Scanner.eventSource.listen('count',function(total){
Scanner.songsFound=total;
});
Scanner.eventSource.listen('scanned',function(data){
Scanner.songsScanned=data.count;
$('#scan span.songCount').text(Scanner.songsScanned);
var progress=(Scanner.songsScanned/Scanner.songsFound)*100;
$('#scanprogressbar').progressbar('value',progress);
});
Scanner.eventSource.listen('done',function(count){
$('#scan input.start').show();
$('#scan input.stop').hide();
$('#scanprogressbar').hide();
Collection.load(Collection.display);
if(ready){
ready();
}
});
$('#scancount').show();
},
stop:function(){
Scanner.eventSource.close();
},
};