-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjavascript38.js
94 lines (78 loc) · 3.02 KB
/
javascript38.js
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
(function($) {
$.fn.invisible = function() {
return this.each(function() {
$(this).css("visibility", "hidden");
});
}
$.fn.visible = function () {
return this.each(function() {
$(this).css("visibility", "visible");
});
}
}(jQuery));
$(document).ready(function() {
let areCurrentHoursValid = false;
let isStartedTimeValid = false;
$('#sidebar').mCustomScrollbar({
theme: "minimal"
});
$('#sidebarCollapse').on('click', function () {
// open or close navbar
$('#sidebar, #content').toggleClass('active');
});
$('#timeToConvert').change(function() {
if ($(this).val()) {
let time = $(this).val();
let hours = time.split(":")[0];
let minutes = time.split(":")[1];
var decimalTime = hours * 1.0 + minutes * 1.0 / 60;
$('#decimalTime').val(decimalTime.toFixed(2));
}
});
$('#currentHours38').change(function() {
var currentHours = $(this).val();
if (/^\d+(\.\d+)?$/.test(currentHours)) {
if (parseFloat(currentHours) > 38) {
areCurrentHoursValid = false;
$('#currentHoursError').text('You should not work more than 20 hours a week');
$('#currentHoursError').visible();
} else {
// we can calculate
areCurrentHoursValid = true;
$('#currentHoursError').invisible();
}
} else {
areCurrentHoursValid = false;
$('#currentHoursError').text('Please enter a valid number');
$('#currentHoursError').visible();
}
tryCalculatingTimeOut();
});
$('#startingTime38').change(function() {
if ($(this).val()) {
isStartedTimeValid = true;
} else {
isStartedTimeValid = false;
}
tryCalculatingTimeOut();
});
function tryCalculatingTimeOut() {
if (areCurrentHoursValid && isStartedTimeValid) {
let currentHours = parseFloat($('#currentHours38').val());
let leftoverHours = 38.0 - currentHours;
let leftoverMinutes = parseInt(leftoverHours * 60);
let startingTime = $('#startingTime38').val();
let startingHour = startingTime.split(":")[0];
var startingMinute = startingTime.split(":")[1];
console.log(parseInt(startingMinute));
console.log(parseInt(startingHour));
var minutes = parseInt(startingMinute) + parseInt(startingHour) * 60;
minutes = minutes + leftoverMinutes - 1;
let endingHour = parseInt(minutes / 60 > 24 ? (minutes / 60 - 24) : (minutes / 60));
let endingMinute = minutes % 60;
let endingMinuteString = endingMinute < 10 ? '0' + endingMinute.toString() : endingMinute.toString();
// update the clock out time
$('#endingTime38').val(endingHour.toString() + ':' + endingMinuteString);
}
}
})