'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 } }); });