Lidarr/UI/Upcoming/UpcomingCollectionView.js

88 lines
3.0 KiB
JavaScript

'use strict';
define(['app', 'Upcoming/UpcomingItemView'], function (app) {
NzbDrone.Upcoming.UpcomingCollectionView = Backbone.Marionette.CompositeView.extend({
itemView : NzbDrone.Upcoming.UpcomingItemView,
template : 'Upcoming/UpcomingCollectionTemplate',
itemViewContainer: 'table',
ui: {
yesterday : 'tbody#yesterday',
today : 'tbody#today',
tomorrow : 'tbody#tomorrow',
two_days : 'tbody#two_days',
three_days: 'tbody#three_days',
four_days : 'tbody#four_days',
five_days : 'tbody#five_days',
six_days : 'tbody#six_days',
later : 'tbody#later'
},
initialize: function () {
this.collection = new NzbDrone.Upcoming.UpcomingCollection();
this.collection.fetch();
},
serializeData: function () {
var viewData = {};
viewData.two_days = Date.create().addDays(2).format('{Weekday}');
viewData.three_days = Date.create().addDays(3).format('{Weekday}');
viewData.four_days = Date.create().addDays(4).format('{Weekday}');
viewData.five_days = Date.create().addDays(5).format('{Weekday}');
viewData.six_days = Date.create().addDays(6).format('{Weekday}');
return viewData;
},
appendHtml: function (collectionView, itemView, index) {
var date = Date.create(itemView.model.get('airTime'));
if (date.isYesterday()) {
collectionView.$(this.ui.yesterday).append(itemView.el);
return;
}
if (date.isToday()) {
collectionView.$(this.ui.today).append(itemView.el);
return;
}
if (date.isTomorrow()) {
collectionView.$(this.ui.tomorrow).append(itemView.el);
return;
}
if (date.is(Date.create().addDays(2).short())) {
collectionView.$(this.ui.two_days).append(itemView.el);
return;
}
if (date.is(Date.create().addDays(3).short())) {
collectionView.$(this.ui.three_days).append(itemView.el);
return;
}
if (date.is(Date.create().addDays(4).short())) {
collectionView.$(this.ui.four_days).append(itemView.el);
return;
}
if (date.is(Date.create().addDays(5).short())) {
collectionView.$(this.ui.five_days).append(itemView.el);
return;
}
if (date.is(Date.create().addDays(6).short())) {
collectionView.$(this.ui.six_days).append(itemView.el);
return;
}
collectionView.$(this.ui.later).append(itemView.el);
//if (date.isBefore(Date.create().addDays(7))) return date.format('{Weekday}');
},
onCompositeCollectionRendered: function () {
//Might not need this :D
}
});
});