| 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 | 2×
2×
2×
2×
2×
2×
2×
2×
2×
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
})));
}
});
|