51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
;(function (define) {
|
|
|
|
define([
|
|
'jquery',
|
|
'underscore',
|
|
'backbone',
|
|
'gettext',
|
|
'date'
|
|
], function ($, _, Backbone, gettext, Date) {
|
|
'use strict';
|
|
|
|
function formatDate(date) {
|
|
return dateUTC(date).toString('MMM dd, yyyy');
|
|
}
|
|
|
|
// Return a date object using UTC time instead of local time
|
|
function dateUTC(date) {
|
|
return new Date(
|
|
date.getUTCFullYear(),
|
|
date.getUTCMonth(),
|
|
date.getUTCDate(),
|
|
date.getUTCHours(),
|
|
date.getUTCMinutes(),
|
|
date.getUTCSeconds()
|
|
);
|
|
}
|
|
|
|
return Backbone.View.extend({
|
|
|
|
tagName: 'li',
|
|
templateId: '#course_card-tpl',
|
|
className: 'courses-listing-item',
|
|
|
|
initialize: function () {
|
|
this.tpl = _.template($(this.templateId).html());
|
|
},
|
|
|
|
render: function () {
|
|
var data = _.clone(this.model.attributes);
|
|
data.start = formatDate(new Date(data.start));
|
|
data.enrollment_start = formatDate(new Date(data.enrollment_start));
|
|
this.$el.html(this.tpl(data));
|
|
return this;
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
})(define || RequireJS.define);
|