Code coverage report for src/components/course-settings/reset-password.cjsx

Statements: 42.86% (6 / 14)      Branches: 100% (0 / 0)      Functions: 0% (0 / 7)      Lines: 42.86% (6 / 14)      Ignored: none     

All files » src/components/course-settings/ » reset-password.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                                                                                                                                  
var BS, PasswordResetField, React, RosterActions;
 
React = require('react');
 
BS = require('react-bootstrap');
 
RosterActions = require('../../flux/roster').RosterActions;
 
PasswordResetField = React.createClass({
  displayName: 'ResetStudentPasswordField',
  mixins: [React.addons.LinkedStateMixin],
  getInitialState: function() {
    return {
      password: ''
    };
  },
  getValue: function() {
    return this.state.password;
  },
  componentDidMount: function() {
    return React.findDOMNode(this.refs.input).focus();
  },
  render: function() {
    return React.createElement("input", {
      "autofocus": true,
      "ref": 'input',
      "valueLink": this.linkState('password'),
      "type": 'password',
      "className": 'form-control'
    });
  }
});
 
module.exports = React.createClass({
  displayName: 'ResetPasswordLink',
  propTypes: {
    student: React.PropTypes.object.isRequired,
    courseId: React.PropTypes.string.isRequired
  },
  performUpdate: function() {
    RosterActions.save(this.props.student.id, {
      password: this.refs.password.getValue()
    });
    return this.refs.overlay.hide();
  },
  resetPassword: function() {
    return React.createElement(BS.Popover, React.__spread({
      "title": 'Update password:'
    }, this.props), React.createElement(PasswordResetField, {
      "ref": 'password'
    }), React.createElement(BS.Button, {
      "block": true,
      "onClick": this.performUpdate
    }, "Update ", React.createElement("i", {
      "className": 'fa fa-angle-double-right'
    })));
  },
  render: function() {
    return React.createElement(BS.OverlayTrigger, {
      "ref": 'overlay',
      "rootClose": true,
      "trigger": 'click',
      "placement": 'left',
      "overlay": this.resetPassword()
    }, React.createElement("a", null, React.createElement("i", {
      "className": 'fa fa-key'
    }), " Reset Password"));
  }
});