Files
edx-platform/lms/static/js/discovery/views/course_card.js
azanbinzahid 7d42bd225c PROD-2244
2020-11-30 17:20:36 +05:00

65 lines
2.0 KiB
JavaScript

(function(define) {
define([
'jquery',
'underscore',
'backbone',
'gettext',
'edx-ui-toolkit/js/utils/date-utils',
'edx-ui-toolkit/js/utils/html-utils'
], function($, _, Backbone, gettext, DateUtils, HtmlUtils) {
'use strict';
function formatDate(date, userLanguage, userTimezone) {
var context;
context = {
datetime: date,
language: userLanguage,
timezone: userTimezone,
format: DateUtils.dateFormatEnum.shortDate
};
return DateUtils.localize(context);
}
return Backbone.View.extend({
tagName: 'li',
templateId: '#course_card-tpl',
className: 'courses-listing-item',
initialize: function() {
this.tpl = HtmlUtils.template($(this.templateId).html());
},
render: function() {
var data = _.clone(this.model.attributes);
var userLanguage = '',
userTimezone = '';
if (this.model.userPreferences !== undefined) {
userLanguage = this.model.userPreferences.userLanguage;
userTimezone = this.model.userPreferences.userTimezone;
}
if (data.advertised_start !== undefined) {
data.start = data.advertised_start;
} else {
data.start = formatDate(
new Date(data.start),
userLanguage,
userTimezone
);
}
data.enrollment_start = formatDate(
new Date(data.enrollment_start),
userLanguage,
userTimezone
);
HtmlUtils.setHtml(
this.$el,
this.tpl(data)
);
return this;
}
});
});
}(define || RequireJS.define));