13
13
function createWidget ( ) {
14
14
var sum = aggregateSumOfTrackingComment ( ) ;
15
15
var budget = getEstimationTime ( ) ;
16
-
17
16
var formatted_sum = ( budget > 0 ) ? sum + "h/" + budget + 'h' : sum ;
18
-
19
-
20
- // Create time tracking widget
21
- var timetracking = '<div class=\'block timetracking \'>' +
22
- '<div class=\'title hide-collapsed\'>Time tracking (< span class="timetrack-data bold">' + formatted_sum +
23
- '</span>)<a class="edit-link pull-right" href="#">Edit</a>' +
24
- ' </div>'
17
+
18
+ // Create time tracking widget.
19
+ var timetracking = '<div class=\'block timetracking\'>'
20
+ + '<div class=\'title hide-collapsed \'>Time tracking (<span class="timetrack-data bold"> ' + formatted_sum
21
+ + '</ span>)<a class="edit-link pull-right" href="#">Edit</a>'
22
+ + '</div>'
23
+ + '<div id="timetracking-messages"> </div>'
25
24
+ '<div class="selectbox hide-collapsed">'
26
25
+ '<div class="form-group"><div class="control-label">Date</div><div class="col-sm-12"><input placeholder="Date" class="datepicker" name="timetrack_date" /></div></div>'
27
26
+ '<div class="form-group"><div class="control-label">Hours</div><div class="col-sm-12"><input placeholder="Hours" value="0" type="number" min="0" step="1" name="timetrack_hours" /></div></div>'
28
27
+ '<div class="form-group"><div class="control-label">Minutes</div><div class="col-sm-12"><input placeholder="Minutes" value="0" type="number" min="0" max="60" step="15" name="timetrack_minutes" /></div></div>'
29
- + '<div class="form-group"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="timetrack_description" placeholder="Please enter your activity description here"></textarea></div></div>'
30
- + '<div class="form-group"><div class="control-label ">Free hours?</div><div><input type="checkbox" checked="false" /></div></div>'
28
+ + '<div class="form-group clearfix "><div class="control-label">Description</div><div class="col-sm-12"><textarea name="timetrack_description" placeholder="Please enter your activity description here"></textarea></div></div>'
29
+ + '<div class="form-group clearfix "><div class="pull-left ">Free hours?</div><div class="control-label" ><input id="timetracking-clock-free" type="checkbox" /></div></div>'
31
30
+ '<button name="create_timetrack" value="CreateTime" class="" type="submit">Update work log</button>'
32
31
+ '</div>'
33
- '</div>' ;
34
- var estimation = '<div class=\'block estimation\'>' +
35
- '<div class=\'title hide-collapsed\'>Estimation (<span class="estimation-data bold">' + budget +
36
- 'h</span>)<a class="edit-link pull-right" href="#">Edit</a>' +
37
- '</div>'
32
+ + '</div>' ;
33
+
34
+ // Create estimation widget.
35
+ var estimation = '<div class=\'block estimation\'>'
36
+ + '<div class=\'title hide-collapsed\'>Estimation (<span class="estimation-data bold">' + budget
37
+ + 'h</span>)<a class="edit-link pull-right" href="#">Edit</a>'
38
+ + '</div>'
38
39
+ '<div class="selectbox hide-collapsed">'
39
40
+ '<div class="form-group"><div class="control-label">Hours</div><div class="col-sm-12"><input placeholder="Hours" value="0" type="number" min="0" step="1" name="estimation_hours" /></div></div>'
40
41
+ '<div class="form-group"><div class="control-label">Minutes</div><div class="col-sm-12"><input placeholder="Minutes" value="0" type="number" min="0" max="60" step="15" name="estimation_minutes" /></div></div>'
41
- + '<div class="form-group"><div class="control-label">Description</div><div class="col-sm-12"><textarea name="estimation_description" placeholder="Please enter your estimation description here"></textarea></div></div>'
42
+ + '<div class="form-group clearfix "><div class="control-label">Description</div><div class="col-sm-12"><textarea name="estimation_description" placeholder="Please enter your estimation description here"></textarea></div></div>'
42
43
+ '<button name="create_estimation" value="CreateEstimation" class="" type="submit">Update Time Estimation</button>'
43
44
+ '</div>'
44
- '</div>' ;
45
+ + '</div>' ;
45
46
$ ( 'form.inline-update' ) . append ( timetracking ) ;
46
47
$ ( 'form.inline-update' ) . append ( estimation ) ;
47
-
48
+
48
49
var $dateField = $ ( 'input[name=timetrack_date]' ) ;
49
-
50
+
50
51
new Pikaday ( {
51
52
field : $dateField . get ( 0 ) ,
52
53
format : 'yyyy-mm-dd' ,
53
54
onSelect : function ( dateText ) {
54
55
dateField . val ( dateFormat ( new Date ( dateText ) , 'yyyy-mm-dd' ) ) ;
55
56
}
56
57
} ) . setDate ( new Date ( $dateField . val ( ) ) ) ;
57
-
58
58
59
59
$ ( 'button[name=create_timetrack]' ) . click ( function ( ) {
60
- createTimeTrackingComment ( ':clock1:' , '' , 'timetrack' ) ;
60
+ if ( $ ( "#timetracking-clock-free" ) . is ( ':checked' ) ) {
61
+ createTimeTrackingComment ( ':clock1: :free:' , '' , 'timetrack' ) ;
62
+ } else {
63
+ createTimeTrackingComment ( ':clock1:' , '' , 'timetrack' ) ;
64
+ }
61
65
return false ;
62
66
} ) ;
63
-
67
+
64
68
$ ( 'button[name=create_estimation]' ) . click ( function ( ) {
65
69
createTimeTrackingComment ( ':dart:' , '' , 'estimation' ) ;
66
70
return false ;
67
- } ) ;
71
+ } ) ;
68
72
}
69
73
70
-
71
-
72
74
/**
73
75
* Create tracking comment.
74
76
*/
@@ -81,10 +83,12 @@ function createTimeTrackingComment(emoji, additional, type) {
81
83
var text = emoji + ' ' + additional ;
82
84
var time_is_entered = ( hours + minutes > 0 ) ;
83
85
var time_string = type === 'timetrack' ? "/spend " : "/estimate " ;
84
-
86
+
85
87
if ( ! time_is_entered ) {
86
- }
88
+ $ ( "#timetracking-messages" ) . addClass ( "cred" ) . text ( "NOTICE: enter time data first!" ) ;
89
+ }
87
90
else {
91
+ $ ( "#timetracking-messages" ) . removeClass ( "cred" ) . text ( "" ) ;
88
92
if ( hours != 0 ) {
89
93
time_string = time_string + hours + 'h' ;
90
94
text = text + ' ' + hours + 'h' ;
@@ -103,17 +107,16 @@ function createTimeTrackingComment(emoji, additional, type) {
103
107
$ ( 'textarea[name="note[note]"]' ) . trigger ( 'focus' ) ;
104
108
$ ( 'textarea[name="note[note]"]' ) . trigger ( 'input' ) ;
105
109
$ ( '.btn-create.comment-btn' ) . click ( ) ;
106
-
110
+
107
111
setTimeout (
108
112
function ( ) {
109
113
$ ( 'textarea[name="note[note]"]' ) . val ( time_string ) ;
110
114
$ ( 'textarea[name="note[note]"]' ) . trigger ( 'focus' ) ;
111
115
$ ( 'textarea[name="note[note]"]' ) . trigger ( 'input' ) ;
112
- $ ( '.btn-create.comment-btn' ) . click ( ) ;
116
+ $ ( '.btn-create.comment-btn' ) . click ( ) ;
113
117
} ,
114
118
1500
115
- )
116
-
119
+ ) ;
117
120
}
118
121
}
119
122
@@ -142,7 +145,6 @@ function aggregateSumOfTrackingComment() {
142
145
143
146
} ) ;
144
147
145
-
146
148
return time . asHours ( ) ;
147
149
}
148
150
@@ -171,15 +173,13 @@ function getEstimationTime() {
171
173
172
174
} ) ;
173
175
174
-
175
176
return time . asHours ( ) ;
176
177
}
177
178
178
-
179
179
$ (
180
- function ( ) {
181
- createWidget ( ) ;
182
-
180
+ function ( ) {
181
+ createWidget ( ) ;
182
+
183
183
// $('input.btn-save').on('click', )
184
184
}
185
185
) ;
0 commit comments