2 changed files with 125 additions and 76 deletions
@ -0,0 +1,71 @@ |
|||
var Episode = new Class({ |
|||
|
|||
Extends: BlockBase, |
|||
|
|||
action: {}, |
|||
|
|||
initialize: function(show, data){ |
|||
var self = this; |
|||
|
|||
self.show = show; |
|||
self.data = data; |
|||
|
|||
self.el = new Element('div.item'); |
|||
self.el_actions = new Element('div.actions'); |
|||
|
|||
self.create(); |
|||
}, |
|||
|
|||
create: function(){ |
|||
var self = this; |
|||
|
|||
self.el.set('id', 'episode_'+self.data._id); |
|||
|
|||
self.el.adopt( |
|||
new Element('span.episode', {'text': (self.data.info.number || 0)}), |
|||
new Element('span.name', {'text': self.getTitle()}), |
|||
new Element('span.firstaired', {'text': self.data.info.firstaired}) |
|||
); |
|||
|
|||
self.el_actions.inject(self.el); |
|||
|
|||
if(self.data.identifiers && self.data.identifiers.imdb) { |
|||
new Element('a.imdb.icon2', { |
|||
'title': 'Go to the IMDB page of ' + self.show.getTitle(), |
|||
'href': 'http://www.imdb.com/title/' + self.data.identifiers.imdb + '/', |
|||
'target': '_blank' |
|||
}).inject(self.el_actions); |
|||
} |
|||
|
|||
new Element('a.refresh.icon2', { |
|||
'title': 'Refresh the episode info and do a forced search', |
|||
'events': { |
|||
'click': self.doRefresh.bind(self) |
|||
} |
|||
}).inject(self.el_actions); |
|||
}, |
|||
|
|||
getTitle: function(){ |
|||
var self = this; |
|||
|
|||
var title = ''; |
|||
|
|||
if(self.data.info.titles && self.data.info.titles.length > 0) { |
|||
title = self.data.info.titles[0]; |
|||
} else { |
|||
title = 'Episode ' + self.data.info.number; |
|||
} |
|||
|
|||
return title; |
|||
}, |
|||
|
|||
doRefresh: function(e) { |
|||
var self = this; |
|||
|
|||
Api.request('media.refresh', { |
|||
'data': { |
|||
'id': self.data._id |
|||
} |
|||
}); |
|||
} |
|||
}); |
Loading…
Reference in new issue