Code coverage report for src/components/student-dashboard/event-row.cjsx

Statements: 94.44% (17 / 18)      Branches: 83.33% (5 / 6)      Functions: 50% (1 / 2)      Lines: 94.44% (17 / 18)      Ignored: none     

All files » src/components/student-dashboard/ » event-row.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 77 78                                                     168× 168× 168× 168×   168× 168× 87×   168×                                                                  
var BS, EventInfoIcon, Instructions, React, StudentDashboardStore, Time, moment;
 
React = require('react');
 
BS = require('react-bootstrap');
 
moment = require('moment');
 
Time = require('../time');
 
StudentDashboardStore = require('../../flux/student-dashboard').StudentDashboardStore;
 
EventInfoIcon = require('./event-info-icon');
 
Instructions = require('../task/details').Instructions;
 
module.exports = React.createClass({
  displayName: 'EventRow',
  propTypes: {
    className: React.PropTypes.string.isRequired,
    event: React.PropTypes.object.isRequired,
    courseId: React.PropTypes.string.isRequired,
    feedback: React.PropTypes.string.isRequired
  },
  contextTypes: {
    router: React.PropTypes.func
  },
  onClick: function() {
    return this.context.router.transitionTo('viewTaskStep', {
      courseId: this.props.courseId,
      id: this.props.event.id,
      stepIndex: 1
    });
  },
  render: function() {
    var classnames, workable;
    workable = this.props.workable;
    Eif (workable == null) {
      workable = StudentDashboardStore.canWorkTask(this.props.event);
    }
    classnames = "task row " + this.props.className;
    if (workable) {
      classnames += ' workable';
    }
    return React.createElement("div", {
      "className": classnames,
      "onClick": (workable ? this.onClick : void 0),
      "data-event-id": this.props.event.id
    }, React.createElement(BS.Col, {
      "xs": 2.,
      "sm": 1.,
      "className": "column-icon"
    }, React.createElement("i", {
      "className": "icon icon-lg icon-" + this.props.className
    })), React.createElement(BS.Col, {
      "xs": 10.,
      "sm": 6.,
      "className": 'title'
    }, this.props.children, React.createElement(Instructions, {
      "task": this.props.event,
      "popverClassName": 'student-dashboard-instructions-popover'
    })), React.createElement(BS.Col, {
      "xs": 5.,
      "sm": 3.,
      "className": 'feedback'
    }, React.createElement("span", null, this.props.feedback), React.createElement(EventInfoIcon, {
      "event": this.props.event
    })), React.createElement(BS.Col, {
      "xs": 5.,
      "sm": 2.,
      "className": 'due-at'
    }, React.createElement(Time, {
      "date": this.props.event.due_at
    })));
  }
});