delete datetext functions, implement dateutils

This commit is contained in:
Gregory Martin
2016-11-30 11:30:21 -05:00
parent bd87b218ce
commit 1b2fbbd61d
31 changed files with 143 additions and 524 deletions

View File

@@ -4,14 +4,15 @@
(function(define) {
'use strict';
define([
'backbone'
'backbone',
'edx-ui-toolkit/js/utils/date-utils'
],
function(Backbone) {
function(Backbone, DateUtils) {
return Backbone.Model.extend({
initialize: function(data) {
if (data) {
this.context = data;
this.setActiveRunMode(this.getRunMode(data.run_modes));
this.setActiveRunMode(this.getRunMode(data.run_modes), data.user_preferences);
}
},
@@ -31,7 +32,7 @@
var enrolled_mode = _.findWhere(runModes, {is_enrolled: true}),
openEnrollmentRunModes = this.getEnrollableRunModes(),
desiredRunMode;
// We populate our model by looking at the run modes.
// We populate our model by looking at the run modes.
if (enrolled_mode) {
// If the learner is already enrolled in a run mode, return that one.
desiredRunMode = enrolled_mode;
@@ -64,15 +65,44 @@
});
},
setActiveRunMode: function(runMode) {
formatDate: function(date, userPreferences) {
var context,
userTimezone = '',
userLanguage = '';
if (userPreferences !== undefined) {
userTimezone = userPreferences.time_zone;
userLanguage = userPreferences['pref-lang'];
}
context = {
datetime: date,
timezone: userTimezone,
language: userLanguage,
format: DateUtils.dateFormatEnum.shortDate
};
return DateUtils.localize(context);
},
setActiveRunMode: function(runMode, userPreferences) {
var startDateString;
if (runMode) {
if (runMode.advertised_start !== undefined && runMode.advertised_start !== 'None') {
startDateString = runMode.advertised_start;
} else {
startDateString = this.formatDate(
runMode.start_date,
userPreferences
);
}
this.set({
certificate_url: runMode.certificate_url,
course_image_url: runMode.course_image_url || '',
course_key: runMode.course_key,
course_url: runMode.course_url || '',
display_name: this.context.display_name,
end_date: runMode.end_date,
end_date: this.formatDate(
runMode.end_date,
userPreferences
),
enrollable_run_modes: this.getEnrollableRunModes(),
is_course_ended: runMode.is_course_ended,
is_enrolled: runMode.is_enrolled,
@@ -81,13 +111,12 @@
marketing_url: runMode.marketing_url,
mode_slug: runMode.mode_slug,
run_key: runMode.run_key,
start_date: runMode.start_date,
start_date: startDateString,
upcoming_run_modes: this.getUpcomingRunModes(),
upgrade_url: runMode.upgrade_url
});
}
},
setUnselected: function() {
// Called to reset the model back to the unselected state.
var unselectedMode = this.getUnselectedRunMode(this.get('enrollable_run_modes'));