Code coverage report for src/flux/cc-dashboard.coffee

Statements: 100% (31 / 31)      Branches: 55.56% (10 / 18)      Functions: 100% (7 / 7)      Lines: 100% (31 / 31)      Ignored: none     

All files » src/flux/ » cc-dashboard.coffee
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61                               138× 138× 246× 246× 246× 246×   138× 48×   138×   138× 138×                        
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
};