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.
142 lines
3.4 KiB
142 lines
3.4 KiB
Page.Home = new Class({
|
|
|
|
Extends: PageBase,
|
|
|
|
name: 'home',
|
|
title: 'Manage new stuff for things and such',
|
|
|
|
indexAction: function(param){
|
|
var self = this;
|
|
|
|
if(self.soon_list){
|
|
|
|
// Reset lists
|
|
self.available_list.update();
|
|
self.late_list.update();
|
|
|
|
return
|
|
}
|
|
|
|
// Snatched
|
|
self.available_list = new MovieList({
|
|
'navigation': false,
|
|
'identifier': 'snatched',
|
|
'load_more': false,
|
|
'view': 'list',
|
|
'actions': [MA.IMDB, MA.Trailer, MA.Release, MA.Refresh, MA.Delete],
|
|
'title': 'Snatched & Available',
|
|
'description': 'These movies have been snatched or have finished downloading',
|
|
'on_empty_element': new Element('div').adopt(
|
|
new Element('h2', {'text': 'Snatched & Available'}),
|
|
new Element('span', {
|
|
'html': 'No snatched movies or anything!? Damn.. <a>Maybe add a movie.</a>',
|
|
'events': {
|
|
'click': function(){
|
|
$(document.body).getElement('.search_form input').focus();
|
|
}
|
|
}
|
|
})
|
|
),
|
|
'filter': {
|
|
'release_status': 'snatched,available'
|
|
},
|
|
'limit': null
|
|
});
|
|
|
|
// Coming Soon
|
|
self.soon_list = new MovieList({
|
|
'navigation': false,
|
|
'identifier': 'soon',
|
|
'limit': 12,
|
|
'title': 'Available soon',
|
|
'description': 'These are being searched for and should be available soon as they will be released on DVD in the next few weeks.',
|
|
'on_empty_element': new Element('div').adopt(
|
|
new Element('h2', {'text': 'Available soon'}),
|
|
new Element('span', {'text': 'There are no movies available soon. Add some movies, so you have something to watch later.'})
|
|
),
|
|
'filter': {
|
|
'random': true
|
|
},
|
|
'actions': [MA.IMDB, MA.Refresh],
|
|
'load_more': false,
|
|
'view': 'thumbs',
|
|
'force_view': true,
|
|
'api_call': 'dashboard.soon'
|
|
});
|
|
|
|
// Make all thumbnails the same size
|
|
self.soon_list.addEvent('loaded', function(){
|
|
var images = $(self.soon_list).getElements('.poster'),
|
|
timer,
|
|
highest = 100;
|
|
|
|
images.each(function(img_container){
|
|
img_container.getElements('img').addEvent('load', function(){
|
|
var img = this,
|
|
height = img.getSize().y;
|
|
if(!highest || highest < height){
|
|
highest = height;
|
|
if(timer) clearTimeout(timer);
|
|
timer = (function(){
|
|
images.setStyle('height', highest);
|
|
}).delay(50);
|
|
}
|
|
});
|
|
});
|
|
|
|
$(window).addEvent('resize', function(){
|
|
if(timer) clearTimeout(timer);
|
|
timer = (function(){
|
|
var highest = 100;
|
|
images.each(function(img_container){
|
|
var img = img_container.getElement('img');
|
|
if(!img) return
|
|
|
|
var height = img.getSize().y;
|
|
if(!highest || highest < height)
|
|
highest = height;
|
|
});
|
|
images.setStyle('height', highest);
|
|
}).delay(300);
|
|
});
|
|
});
|
|
|
|
// Suggest
|
|
self.suggestion_list = new SuggestList();
|
|
|
|
// Still not available
|
|
self.late_list = new MovieList({
|
|
'navigation': false,
|
|
'identifier': 'late',
|
|
'limit': 50,
|
|
'title': 'Still not available',
|
|
'description': 'Try another quality profile or maybe add more providers in <a href="'+App.createUrl('settings/searcher/providers/')+'">Settings</a>.',
|
|
'filter': {
|
|
'late': true
|
|
},
|
|
'loader': false,
|
|
'load_more': false,
|
|
'view': 'list',
|
|
'actions': [MA.IMDB, MA.Trailer, MA.Edit, MA.Refresh, MA.Delete],
|
|
'api_call': 'dashboard.soon'
|
|
});
|
|
|
|
self.el.adopt(
|
|
$(self.available_list),
|
|
$(self.soon_list),
|
|
$(self.suggestion_list),
|
|
$(self.late_list)
|
|
);
|
|
|
|
// Recent
|
|
// Snatched
|
|
// Renamed
|
|
// Added
|
|
|
|
// Free space
|
|
|
|
// Shortcuts
|
|
|
|
}
|
|
|
|
})
|