84 lines
2.3 KiB
JavaScript
84 lines
2.3 KiB
JavaScript
(function ($) {
|
|
var kendo = window.kendo,
|
|
ui = kendo.ui,
|
|
Widget = ui.Widget,
|
|
proxy = $.proxy,
|
|
CHANGE = 'change',
|
|
PROGRESS = 'progress',
|
|
ERROR = 'error',
|
|
NS = '.generalInfo';
|
|
|
|
var MaskedDatePicker = Widget.extend({
|
|
init: function (element, options) {
|
|
var that = this;
|
|
Widget.fn.init.call(this, element, options);
|
|
|
|
var mask = '0000. 00. 00.';
|
|
var format = 'yyyy. MM. dd.';
|
|
var parseFormats = 'yyyy. MM. dd.';
|
|
var minDate = '1900. 01. 01.';
|
|
var maxDate = '2100. 01. 01.';
|
|
|
|
if (typeof options !== 'undefined') {
|
|
$.each(options, function (index, value) {
|
|
if (index == 'dateOptions.mask') {
|
|
mask = value;
|
|
}
|
|
if (index == 'dateOptions.format') {
|
|
format = value;
|
|
}
|
|
if (index == 'dateOptions.parseFormats') {
|
|
parseFormats = value;
|
|
}
|
|
});
|
|
}
|
|
|
|
var datePickerOptions = {};
|
|
|
|
//ha már van rajta datePicker (MVC-s helper miatt), akkor azt levesszük, de a beállításait megtartjuk
|
|
var datePicker = $(element).data('kendoDatePicker');
|
|
if (typeof datePicker !== 'undefined') {
|
|
datePickerOptions = datePicker.options;
|
|
datePicker.destroy();
|
|
}
|
|
|
|
datePickerOptions.format = format;
|
|
datePickerOptions.parseFormats = parseFormats;
|
|
datePickerOptions.minDate = minDate;
|
|
datePickerOptions.maxDate = maxDate;
|
|
|
|
$(element)
|
|
.kendoMaskedTextBox({ mask: mask, culture: 'en-US' })
|
|
.kendoDatePicker(datePickerOptions)
|
|
.closest('.k-datepicker')
|
|
.add(element)
|
|
.removeClass('k-textbox');
|
|
|
|
that.element.data('kendoDatePicker').bind('change', function () {
|
|
that.trigger(CHANGE);
|
|
});
|
|
},
|
|
options: {
|
|
name: 'MaskedDatePicker',
|
|
dateOptions: {}
|
|
},
|
|
events: [CHANGE],
|
|
destroy: function () {
|
|
var that = this;
|
|
Widget.fn.destroy.call(that);
|
|
|
|
kendo.destroy(that.element);
|
|
},
|
|
value: function (value) {
|
|
var datepicker = this.element.data('kendoDatePicker');
|
|
|
|
if (CommonUtils.isNullOrUndefined(value)) {
|
|
return datepicker.value();
|
|
}
|
|
|
|
datepicker.value(value);
|
|
}
|
|
});
|
|
|
|
ui.plugin(MaskedDatePicker);
|
|
})(window.kendo.jQuery);
|