Code coverage report for src/components/course-settings/teacher-roster.cjsx

Statements: 100% (20 / 20)      Branches: 50% (1 / 2)      Functions: 100% (3 / 3)      Lines: 100% (20 / 20)      Ignored: none     

All files » src/components/course-settings/ » teacher-roster.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                             54×                     31× 31× 31× 31×                     31× 31× 31× 31× 54× 54×   31×          
var BS, Icon, React, RemoveTeacherLink, TeacherRosterActions, TeacherRosterStore, _, ref;
 
React = require('react');
 
BS = require('react-bootstrap');
 
_ = require('underscore');
 
Icon = require('../icon');
 
ref = require('../../flux/teacher-roster'), TeacherRosterStore = ref.TeacherRosterStore, TeacherRosterActions = ref.TeacherRosterActions;
 
RemoveTeacherLink = require('./remove-teacher');
 
module.exports = React.createClass({
  displayName: 'TeacherRoster',
  propTypes: {
    courseId: React.PropTypes.string.isRequired,
    courseRoles: React.PropTypes.array.isRequired,
    store: React.PropTypes.object.isRequired
  },
  renderTeacherRow: function(teacher) {
    return React.createElement("tr", {
      "key": teacher.id
    }, React.createElement("td", null, teacher.first_name), React.createElement("td", null, teacher.last_name), React.createElement("td", {
      "className": "actions"
    }, React.createElement(RemoveTeacherLink, {
      "courseId": this.props.courseId,
      "courseRoles": this.props.courseRoles,
      "teacher": teacher
    })));
  },
  render: function() {
    var courseId, ref1, store, teacher, teachers;
    ref1 = this.props, courseId = ref1.courseId, store = ref1.store;
    teachers = store.get(courseId).course.teachers || [];
    return React.createElement("div", {
      "className": "teachers-table"
    }, React.createElement("div", null, React.createElement("span", {
      "className": 'course-settings-subtitle'
    }, "Instructors")), React.createElement(BS.Table, {
      "striped": true,
      "bordered": true,
      "condensed": true,
      "hover": true,
      "className": "roster"
    }, React.createElement("thead", null, React.createElement("tr", null, React.createElement("th", null, "First Name"), React.createElement("th", null, "Last Name"), React.createElement("th", null, "Actions"))), React.createElement("tbody", null, (function() {
      var i, len, ref2, results;
      ref2 = _.sortBy(teachers, 'last_name');
      results = [];
      for (i = 0, len = ref2.length; i < len; i++) {
        teacher = ref2[i];
        results.push(this.renderTeacherRow(teacher));
      }
      return results;
    }).call(this))));
  }
});