Code coverage report for src/components/performance-forecast/guide.cjsx

Statements: 96.55% (28 / 29)      Branches: 62.5% (5 / 8)      Functions: 100% (3 / 3)      Lines: 96.55% (28 / 29)      Ignored: none     

All files » src/components/performance-forecast/ » guide.cjsx
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76                                                         15× 15×         15× 15× 15× 15× 30× 30×         15×       17× 17× 17×   17×   15×   17×            
var BS, Chapter, ChapterSectionType, ColorKey, ProgressBar, React, Router, Section, WeakerPanel, _;
 
React = require('react');
 
BS = require('react-bootstrap');
 
Router = require('react-router');
 
_ = require('underscore');
 
Chapter = require('./chapter');
 
Section = require('./section');
 
ColorKey = require('./color-key');
 
ProgressBar = require('./progress-bar');
 
WeakerPanel = require('./weaker-panel');
 
ChapterSectionType = require('./chapter-section-type');
 
module.exports = React.createClass({
  displayName: 'PerformanceForecast',
  contextTypes: {
    router: React.PropTypes.func
  },
  propTypes: {
    courseId: React.PropTypes.string.isRequired,
    roleId: React.PropTypes.string,
    allSections: React.PropTypes.array.isRequired,
    chapters: React.PropTypes.arrayOf(ChapterSectionType),
    heading: React.PropTypes.element,
    onPractice: React.PropTypes.func,
    onReturn: React.PropTypes.func.isRequired,
    weakerTitle: React.PropTypes.string.isRequired,
    weakerExplanation: React.PropTypes.element,
    sampleSizeThreshold: React.PropTypes.number.isRequired
  },
  renderBody: function() {
    var chapter, i;
    return React.createElement("div", {
      "className": 'guide-group'
    }, React.createElement(WeakerPanel, React.__spread({
      "sections": this.props.allSections
    }, this.props)), React.createElement(BS.Row, null, React.createElement("h3", null, "Individual Chapters")), (function() {
      var j, len, ref, results;
      ref = this.props.chapters || [];
      results = [];
      for (i = j = 0, len = ref.length; j < len; i = ++j) {
        chapter = ref[i];
        results.push(React.createElement(Chapter, React.__spread({
          "key": i,
          "chapter": chapter
        }, this.props)));
      }
      return results;
    }).call(this));
  },
  render: function() {
    var base, body, className;
    className = 'guide-container';
    Iif (typeof (base = this.props).isLoading === "function" ? base.isLoading() : void 0) {
      body = this.props.loadingMessage;
    } else if (_.isEmpty(this.props.allSections)) {
      body = this.props.emptyMessage;
    } else {
      body = this.renderBody();
    }
    return React.createElement("div", {
      "className": 'guide-container'
    }, this.props.heading, body);
  }
});