var BS, ChapterSectionType, PerformanceForecast, React;
React = require('react');
BS = require('react-bootstrap');
ChapterSectionType = require('./chapter-section-type');
PerformanceForecast = require('../../flux/performance-forecast');
module.exports = React.createClass({
displayName: 'PerformanceForecastProgressBar',
propTypes: {
section: React.PropTypes.object.isRequired,
onPractice: React.PropTypes.func,
courseId: React.PropTypes.string.isRequired,
sampleSizeThreshold: React.PropTypes.number.isRequired
},
render: function() {
var bar, onPractice, percent, ref, section, tooltip;
ref = this.props, section = ref.section, onPractice = ref.onPractice;
bar = PerformanceForecast.Helpers.canDisplayForecast(section.clue, this.props.sampleSizeThreshold) ? (percent = Math.round((section.clue.value / 1) * 100), React.createElement(BS.ProgressBar, {
"className": section.clue.value_interpretation,
"now": Math.max(percent, 5)
})) : React.createElement("span", {
"className": "no-data"
}, (onPractice ? 'Practice more to get forecast' : 'Not enough exercises completed'));
if (onPractice) {
tooltip = React.createElement(BS.Tooltip, null, "Click to practice");
return React.createElement(BS.OverlayTrigger, {
"placement": 'bottom',
"overlay": tooltip
}, React.createElement(BS.Button, {
"onClick": (function() {
return onPractice(section);
}),
"block": true
}, bar));
} else {
return bar;
}
}
});
|