Code coverage report for src/helpers/conditional-rendering.coffee

Statements: 72.22% (13 / 18)      Branches: 9.09% (1 / 11)      Functions: 33.33% (1 / 3)      Lines: 72.22% (13 / 18)      Ignored: none     

All files » src/helpers/ » conditional-rendering.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                                    
var CourseStore, CurrentUserStore, Invalid, NoPeriods, React;
 
React = require('react');
 
CurrentUserStore = require('../flux/current-user').CurrentUserStore;
 
Invalid = require('../components').Invalid;
 
NoPeriods = require('../components/no-periods');
 
CourseStore = require('../flux/course').CourseStore;
 
module.exports = function(component, options) {
  var RouteHandler;
  Iif (options == null) {
    options = {};
  }
  RouteHandler = function() {};
  RouteHandler.contextTypes = {
    router: React.PropTypes.func
  };
  RouteHandler.prototype.render = function() {
    var course, courseId;
    courseId = this.context.router.getCurrentParams().courseId;
    course = CourseStore.get(courseId);
    return React.createElement(options.requireRole && courseId && options.requireRole !== CurrentUserStore.getCourseRole(courseId) ? Invalid : options.requirePeriods && course.periods.length === 0 ? NoPeriods : component);
  };
  return RouteHandler;
};