| 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 | 2×
2×
2×
2×
2×
2×
2×
2×
2×
2×
2×
2×
15×
15×
15×
15×
15×
15×
30×
30×
15×
17×
17×
17×
17×
2×
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);
}
});
|