diff --git a/addon/components/ilios-calendar.js b/addon/components/ilios-calendar.js index f080fcc..4c0815a 100644 --- a/addon/components/ilios-calendar.js +++ b/addon/components/ilios-calendar.js @@ -5,6 +5,7 @@ import moment from 'moment'; const { Component, computed, RSVP, copy } = Ember; const { PromiseArray } = DS; +const { sort } = computed; export default Component.extend({ layout, @@ -59,6 +60,24 @@ export default Component.extend({ promise: defer.promise }); }), + sortedCalendarEvents: sort('compiledCalendarEvents', function(a, b){ + let startDiff = moment(a.startDate).diff(moment(b.startDate)); + if (startDiff !== 0) { + return startDiff; + } + + let durrationA = moment(a.startDate).diff(moment(a.endDate)); + let durrationB = moment(b.startDate).diff(moment(b.endDate)); + + let durationDiff = durrationA - durrationB; + + if (durationDiff !== 0) { + return durationDiff; + } + + return a.title - b.title; + + }), actions: { changeView(newView){ this.sendAction('changeView', newView); diff --git a/addon/templates/components/ilios-calendar.hbs b/addon/templates/components/ilios-calendar.hbs index 01dccff..8f22773 100644 --- a/addon/templates/components/ilios-calendar.hbs +++ b/addon/templates/components/ilios-calendar.hbs @@ -16,7 +16,7 @@ {{/if}}