You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.7 KiB
74 lines
1.7 KiB
Page.Wanted = new Class({
|
|
|
|
Extends: PageBase,
|
|
|
|
name: 'wanted',
|
|
title: 'Gimmy gimmy gimmy!',
|
|
|
|
indexAction: function(param){
|
|
var self = this;
|
|
|
|
if(!self.wanted){
|
|
|
|
self.manual_search = new Element('a', {
|
|
'title': 'Force a search for the full wanted list',
|
|
'text': 'Search all wanted',
|
|
'events':{
|
|
'click': self.doFullSearch.bind(self, true)
|
|
}
|
|
});
|
|
|
|
// Wanted movies
|
|
self.wanted = new MovieList({
|
|
'identifier': 'wanted',
|
|
'status': 'active',
|
|
'actions': [MA.IMDB, MA.Trailer, MA.Release, MA.Edit, MA.Refresh, MA.Readd, MA.Delete],
|
|
'add_new': true,
|
|
'menu': [self.manual_search],
|
|
'on_empty_element': App.createUserscriptButtons().addClass('empty_wanted')
|
|
});
|
|
$(self.wanted).inject(self.el);
|
|
|
|
// Check if search is in progress
|
|
self.startProgressInterval.delay(4000, self);
|
|
}
|
|
|
|
},
|
|
|
|
doFullSearch: function(full){
|
|
var self = this;
|
|
|
|
if(!self.search_in_progress){
|
|
|
|
Api.request('movie.searcher.full_search');
|
|
self.startProgressInterval();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
startProgressInterval: function(){
|
|
var self = this;
|
|
|
|
var start_text = self.manual_search.get('text');
|
|
self.progress_interval = setInterval(function(){
|
|
if(self.search_progress && self.search_progress.running) return;
|
|
self.search_progress = Api.request('movie.searcher.progress', {
|
|
'onComplete': function(json){
|
|
self.search_in_progress = true;
|
|
if(!json.progress){
|
|
clearInterval(self.progress_interval);
|
|
self.search_in_progress = false;
|
|
self.manual_search.set('text', start_text);
|
|
}
|
|
else {
|
|
var progress = json.progress;
|
|
self.manual_search.set('text', 'Searching.. (' + (((progress.total-progress.to_go)/progress.total)*100).round() + '%)');
|
|
}
|
|
}
|
|
});
|
|
}, 1000);
|
|
|
|
}
|
|
|
|
});
|