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
94
|
/**
* Sets all checkboxes to the wanted state
*
* @param {string} id Id of the element containing all the checkboxes
* @param {boolean} checked True if the checkboxes should be checked
*/
global.checkAll = (id, checked) => {
$('#' + id + ' input[type="checkbox"]').each(function () {
this.checked = checked;
});
};
/**
* Sets the checkboxes according to the given type
*
* @param {string} id The elements ID
* @param {list} shifts_list A list of numbers
*/
global.checkOwnTypes = (id, shiftsList) => {
$('#' + id + ' input[type="checkbox"]').each(function () {
this.checked = $.inArray(parseInt(this.value), shiftsList) != -1;
});
};
/**
* @param {moment} date
*/
global.formatDay = (date) => {
return date.format('YYYY-MM-DD');
};
/**
* @param {moment} date
*/
global.formatTime = (date) => {
return date.format('HH:mm');
};
/**
* @param {moment} from
* @param {moment} to
*/
global.setInput = (from, to) => {
var fromDay = $('#start_day'), fromTime = $('#start_time'), toDay = $('#end_day'), toTime = $('#end_time');
fromDay.val(formatDay(from));
fromTime.val(formatTime(from));
toDay.val(formatDay(to));
toTime.val(formatTime(to));
};
global.setDay = (days) => {
days = days || 0;
var from = moment();
from.hours(0).minutes(0).seconds(0);
from.add(days, 'd');
var to = from.clone();
to.hours(23).minutes(59);
setInput(from, to);
};
global.setHours = (hours) => {
hours = hours || 1;
var from = moment();
var to = from.clone();
to.add(hours, 'h');
if (to < from) {
setInput(to, from);
return;
}
setInput(from, to);
};
$(function () {
/**
* Disable every submit button after clicking (to prevent double-clicking)
*/
$('form').submit(function (ev) {
$('input[type="submit"]').prop('readonly', true).addClass('disabled');
return true;
});
$('.dropdown-menu').css('max-height', function () {
return ($(window).height() - 50) + 'px';
}).css('overflow-y', 'scroll');
});
|