var CrudConfig, DEFAULT_COURSE_TIMEZONE, DashboardConfig, PeriodHelper, TaskActions, TaskStore, _, actions, extendConfig, makeSimpleStore, ref, ref1, ref2, store;
_ = require('underscore');
ref = require('./task'), TaskActions = ref.TaskActions, TaskStore = ref.TaskStore;
ref1 = require('./helpers'), CrudConfig = ref1.CrudConfig, makeSimpleStore = ref1.makeSimpleStore, extendConfig = ref1.extendConfig;
PeriodHelper = require('../helpers/period');
DEFAULT_COURSE_TIMEZONE = 'US/Central';
DashboardConfig = {
exports: {
isBlank: function(courseId) {
var ref2, ref3;
return !_.any((ref2 = this._get(courseId)) != null ? (ref3 = ref2.course) != null ? ref3.periods : void 0 : void 0);
},
getPeriods: function(courseId) {
var ref2, ref3;
return PeriodHelper.sort((ref2 = this._get(courseId)) != null ? (ref3 = ref2.course) != null ? ref3.periods : void 0 : void 0);
},
chaptersForDisplay: function(courseId, periodId) {
var chapters, period, ref2, ref3;
period = _.findWhere((ref2 = this._get(courseId)) != null ? (ref3 = ref2.course) != null ? ref3.periods : void 0 : void 0, {
id: periodId
});
if (!period) {
return [];
}
chapters = _.map(period.chapters, function(chapter) {
var valid_sections;
valid_sections = _.select(chapter.pages, function(page) {
var total;
total = page.completed + page.in_progress + page.not_started;
page.completed_percentage = page.completed / total;
return page.completed_percentage > 0.1;
});
chapter.valid_sections = _.sortBy(valid_sections, function(page) {
return page.chapter_section[1] || 0;
}).reverse();
return chapter;
});
return _.select(chapters.reverse(), function(chapter) {
var ref4;
return (ref4 = chapter.valid_sections) != null ? ref4.length : void 0;
});
}
}
};
extendConfig(DashboardConfig, new CrudConfig());
ref2 = makeSimpleStore(DashboardConfig), actions = ref2.actions, store = ref2.store;
module.exports = {
CCDashboardActions: actions,
CCDashboardStore: store
};
|