147 lines
3.9 KiB
JavaScript
147 lines
3.9 KiB
JavaScript
var KretaDateTimeHelper = (function () {
|
|
var kretaDateTimeHelper = function () {};
|
|
|
|
kretaDateTimeHelper.getKendoDatePickerData = function (datePickerId) {
|
|
var datePicker = $('#' + datePickerId);
|
|
var datePickerData = datePicker.data('kendoDatePicker');
|
|
return datePickerData;
|
|
};
|
|
|
|
kretaDateTimeHelper.compare = function (lhsDate, rhsDate) {
|
|
var lhs = kendo.parseDate(lhsDate).getTime();
|
|
var rhs = kendo.parseDate(rhsDate).getTime();
|
|
|
|
return lhs < rhs ? -1 : lhs === rhs ? 0 : 1;
|
|
};
|
|
|
|
kretaDateTimeHelper.validateDate = function (e) {
|
|
var id = e.attr('id');
|
|
var val = e.val().replace(/\s/g, '');
|
|
|
|
var parsedDate = kendo.parseDate(val);
|
|
if (parsedDate == null) {
|
|
const kendoDatePicker = $('#' + id).data('kendoDatePicker');
|
|
|
|
if (typeof kendoDatePicker !== 'undefined') {
|
|
kendoDatePicker.value('');
|
|
return;
|
|
}
|
|
|
|
const kendoTimePicker = $('#' + id).data('kendoTimePicker');
|
|
|
|
if (typeof kendoTimePicker !== 'undefined') {
|
|
kendoTimePicker.value('');
|
|
return;
|
|
}
|
|
}
|
|
};
|
|
|
|
kretaDateTimeHelper.validateDateTime = function (e) {
|
|
var id = e.attr('id');
|
|
var val = e.val().replace(/\s/g, '');
|
|
|
|
var parsedDate = kendo.parseDate(val);
|
|
if (parsedDate == null) {
|
|
$('#' + id)
|
|
.data('kendoDateTimePicker')
|
|
.value('');
|
|
}
|
|
};
|
|
|
|
kretaDateTimeHelper.validateTime = function (e) {
|
|
var id = e.attr('id');
|
|
var value = e.val().replace(/\s/g, '');
|
|
|
|
var parsedDate = kendo.parseDate(value);
|
|
if (parsedDate == null) {
|
|
$('#' + id)
|
|
.data('kendoTimePicker')
|
|
.value(e.attr('value'));
|
|
}
|
|
};
|
|
|
|
kretaDateTimeHelper.getDate = function (datePickerId) {
|
|
return kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value();
|
|
};
|
|
|
|
kretaDateTimeHelper.setDate = function (datePickerId, value) {
|
|
var parsedDate = kendo.parseDate(value);
|
|
kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value(parsedDate);
|
|
};
|
|
|
|
kretaDateTimeHelper.setToday = function (datePickerId) {
|
|
var newDate = new Date();
|
|
kretaDateTimeHelper.setDate(datePickerId, newDate);
|
|
};
|
|
|
|
kretaDateTimeHelper.clear = function (datePickerId) {
|
|
kretaDateTimeHelper.getKendoDatePickerData(datePickerId).value(null);
|
|
};
|
|
|
|
kretaDateTimeHelper.SetMaskedTimepicker = function () {
|
|
$("input[data-role='maskedtimepicker']").kendoMaskedTextBox({
|
|
mask: '12:34',
|
|
rules: {
|
|
1: /[0-2]/,
|
|
2: /[0-9]/,
|
|
3: /[0-5]/,
|
|
4: /[0-9]/
|
|
}
|
|
});
|
|
var timePicker = $("input[data-role='maskedtimepicker']");
|
|
timePicker.on('focusout mouseleave', function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
$("input[data-role='maskedtimepicker']").each(function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
};
|
|
|
|
kretaDateTimeHelper.SetTimepicker = function () {
|
|
$("input[data-role='timepicker']").kendoMaskedTextBox({
|
|
mask: '12:34',
|
|
rules: {
|
|
1: /[0-2]/,
|
|
2: /[0-9]/,
|
|
3: /[0-5]/,
|
|
4: /[0-9]/
|
|
}
|
|
});
|
|
|
|
var timePicker = $("input[data-role='timepicker']");
|
|
timePicker.on('focusout mouseleave', function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
$("input[data-role='timepicker']").each(function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
};
|
|
|
|
kretaDateTimeHelper.SetMaskedTimepickerById = function (id) {
|
|
$('#' + id).kendoMaskedTimePicker();
|
|
|
|
var el = document.getElementById(id);
|
|
if (el) {
|
|
el.style.width = null;
|
|
}
|
|
|
|
$('#' + id).kendoMaskedTextBox({
|
|
mask: '12:34',
|
|
rules: {
|
|
1: /[0-2]/,
|
|
2: /[0-9]/,
|
|
3: /[0-5]/,
|
|
4: /[0-9]/
|
|
}
|
|
});
|
|
|
|
$('#' + id).on('focusout mouseleave', function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
$('#' + id).each(function () {
|
|
kretaDateTimeHelper.validateTime($(this));
|
|
});
|
|
};
|
|
|
|
return kretaDateTimeHelper;
|
|
})();
|