From 18d7963adebbde95ee9500c8aa735c32276b4cc9 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 1 Jul 2013 11:25:06 -0700 Subject: [PATCH] Backbone collection will not sort properly.... wtf Sorting on the server now for calendar --- NzbDrone.Api/Calendar/CalendarModule.cs | 2 +- UI/Calendar/UpcomingCollection.js | 22 ++++++++++++++++++---- UI/Calendar/calendar.less | 2 +- UI/Series/EpisodeModel.js | 2 +- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/NzbDrone.Api/Calendar/CalendarModule.cs b/NzbDrone.Api/Calendar/CalendarModule.cs index 627dcc8a2..525c3c3e4 100644 --- a/NzbDrone.Api/Calendar/CalendarModule.cs +++ b/NzbDrone.Api/Calendar/CalendarModule.cs @@ -37,7 +37,7 @@ namespace NzbDrone.Api.Calendar var resources = ToListResource(() => _episodeService.EpisodesBetweenDates(start, end)) .LoadSubtype(e => e.SeriesId, _seriesRepository); - return resources.ToList(); + return resources.OrderBy(e => e.AirDate).ToList(); } } } diff --git a/UI/Calendar/UpcomingCollection.js b/UI/Calendar/UpcomingCollection.js index e78f7aaa7..ffabaa803 100644 --- a/UI/Calendar/UpcomingCollection.js +++ b/UI/Calendar/UpcomingCollection.js @@ -8,10 +8,24 @@ define( url : window.ApiRoot + '/calendar', model: EpisodeModel, - comparator: function (model) { - var date = new Date(model.get('airDate')); - var time = date.getTime(); - return time; + comparator: function (model1, model2) { + var airDate1 = model1.get('airDate'); + var date1 = Date.create(airDate1); + var time1 = date1.getTime(); + + var airDate2 = model2.get('airDate'); + var date2 = Date.create(airDate2); + var time2 = date2.getTime(); + + if (time1 < time2){ + return -1; + } + + if (time1 > time2){ + return 1; + } + + return 0; } }); }); diff --git a/UI/Calendar/calendar.less b/UI/Calendar/calendar.less index 4403883a8..77fbf7047 100644 --- a/UI/Calendar/calendar.less +++ b/UI/Calendar/calendar.less @@ -78,7 +78,6 @@ } h4 { - text-transform : none !important; font-weight : 500; color : #008dcd; margin : 5px 0px; @@ -113,6 +112,7 @@ line-height : 1em; color : #555555; font-weight : 300; + text-transform: uppercase; } h1 { diff --git a/UI/Series/EpisodeModel.js b/UI/Series/EpisodeModel.js index 0321c1e77..0c39df28d 100644 --- a/UI/Series/EpisodeModel.js +++ b/UI/Series/EpisodeModel.js @@ -14,7 +14,7 @@ define( return Date.create(this.get('airDate')).format('{dd}'); }, month : function () { - return Date.create(this.get('airDate')).format('{MON}'); + return Date.create(this.get('airDate')).format('{Mon}'); }, startTime : function () { var start = Date.create(this.get('airDate'));