| 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 | 2×
2×
2×
2×
2×
2×
2×
2×
2×
2×
13×
3×
44×
44×
44×
44×
44×
44×
1×
43×
43×
44×
2×
| var BS, CourseAdd, CourseAddMenuMixin, React, TimeStore, _, classnames, moment, twix;
moment = require('moment');
twix = require('twix');
_ = require('underscore');
React = require('react');
BS = require('react-bootstrap');
classnames = require('classnames');
TimeStore = require('../../flux/time').TimeStore;
CourseAddMenuMixin = require('./add-menu-mixin');
CourseAdd = React.createClass({
displayName: 'CourseAdd',
mixins: [CourseAddMenuMixin],
getInitialState: function() {
return {
positionLeft: 0,
positionTop: 0,
open: false,
referenceDate: moment(TimeStore.getNow())
};
},
updateState: function(date, x, y) {
return this.setState({
addDate: date,
positionLeft: x,
positionTop: y,
open: true
});
},
close: function() {
return this.setState({
addDate: null,
open: false
});
},
render: function() {
var addDate, className, dayType, dropdownContent, open, ref, referenceDate, style;
ref = this.state, referenceDate = ref.referenceDate, addDate = ref.addDate, open = ref.open;
style = {
left: this.state.positionLeft,
top: this.state.positionTop
};
style['display'] = open ? 'block' : 'none';
className = classnames('course-add-dropdown', {
'no-add': !(addDate != null ? addDate.isAfter(referenceDate, 'day') : void 0)
});
if (addDate != null ? addDate.isAfter(referenceDate, 'day') : void 0) {
dropdownContent = this.renderAddActions();
} else {
dayType = (addDate != null ? addDate.isSame(referenceDate, 'day') : void 0) ? 'today' : 'past day';
dropdownContent = React.createElement("li", null, React.createElement("span", {
"className": 'no-add-text'
}, "Cannot assign to ", dayType));
}
return React.createElement(BS.DropdownMenu, {
"ref": 'addOnDayMenu',
"style": style,
"className": className
}, dropdownContent);
}
});
module.exports = CourseAdd;
|