Code coverage report for src/components/task-teacher-review/review.cjsx

Statements: 32.61% (15 / 46)      Branches: 0% (0 / 6)      Functions: 10% (1 / 10)      Lines: 32.61% (15 / 46)      Ignored: none     

All files » src/components/task-teacher-review/ » review.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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112                                                                                                                                                                                                  
var ChapterSectionMixin, CrumbMixin, LoadableItem, React, Review, ReviewShell, ReviewTracker, ScrollListenerMixin, ScrollTracker, ScrollTrackerParentMixin, TaskTeacherReviewActions, TaskTeacherReviewExercise, TaskTeacherReviewStore, _, ref, ref1;
 
React = require('react');
 
_ = require('underscore');
 
TaskTeacherReviewExercise = require('./exercise');
 
ref = require('../scroll-tracker'), ScrollTracker = ref.ScrollTracker, ScrollTrackerParentMixin = ref.ScrollTrackerParentMixin;
 
LoadableItem = require('../loadable-item');
 
CrumbMixin = require('./crumb-mixin');
 
ChapterSectionMixin = require('openstax-react-components').ChapterSectionMixin;
 
ScrollListenerMixin = require('react-scroll-components').ScrollListenerMixin;
 
ref1 = require('../../flux/task-teacher-review'), TaskTeacherReviewActions = ref1.TaskTeacherReviewActions, TaskTeacherReviewStore = ref1.TaskTeacherReviewStore;
 
ReviewTracker = React.createClass({
  displayName: 'ReviewTracker',
  mixins: [ScrollTracker],
  renderQuestion: function() {
    return React.createElement(TaskTeacherReviewExercise, React.__spread({}, this.props));
  },
  renderHeading: function() {
    var ref2, sectionLabel, title;
    ref2 = this.props, sectionLabel = ref2.sectionLabel, title = ref2.title;
    return React.createElement("h2", null, React.createElement("span", {
      "className": 'text-success'
    }, sectionLabel), " ", title);
  },
  render: function() {
    var content, renderFn;
    content = this.props.content;
    renderFn = 'renderQuestion';
    if (content == null) {
      renderFn = 'renderHeading';
    }
    return this[renderFn]();
  }
});
 
Review = React.createClass({
  displayName: 'Review',
  mixins: [ChapterSectionMixin, CrumbMixin, ScrollListenerMixin, ScrollTrackerParentMixin],
  propTypes: {
    id: React.PropTypes.string.isRequired,
    focus: React.PropTypes.bool.isRequired,
    period: React.PropTypes.object.isRequired,
    currentStep: React.PropTypes.number
  },
  getDefaultProps: function() {
    return {
      focus: false
    };
  },
  render: function() {
    var focus, id, ref2, steps, stepsList, stepsProps;
    ref2 = this.props, id = ref2.id, focus = ref2.focus;
    steps = this.getContents();
    stepsProps = _.omit(this.props, 'focus');
    stepsList = _.map(steps, (function(_this) {
      return function(step, index) {
        var item, scrollState, stepProps;
        scrollState = _.pick(step, 'key', 'sectionLabel');
        if (step.content != null) {
          stepProps = _.extend({}, stepsProps, step);
          stepProps.key = "task-review-question-" + step.content.questions[0].id + "-" + index;
          stepProps.focus = focus && index === 0;
        } else {
          stepProps = step;
          stepProps.key = "task-review-heading-" + step.sectionLabel;
        }
        return item = React.createElement(ReviewTracker, React.__spread({}, stepProps, {
          "scrollState": scrollState,
          "setScrollPoint": _this.setScrollPoint,
          "unsetScrollPoint": _this.unsetScrollPoint
        }));
      };
    })(this));
    return React.createElement("div", null, stepsList);
  }
});
 
ReviewShell = React.createClass({displayName: "ReviewShell",
  render: function() {
    var id;
    id = this.props.id;
    return React.createElement(LoadableItem, {
      "id": id,
      "store": TaskTeacherReviewStore,
      "actions": TaskTeacherReviewActions,
      "renderItem": ((function(_this) {
        return function() {
          return React.createElement(Review, React.__spread({}, _this.props, {
            "review": 'teacher',
            "panel": 'teacher-review'
          }));
        };
      })(this))
    });
  }
});
 
module.exports = {
  Review: Review,
  ReviewShell: ReviewShell
};