Skip to content

Commit d33d08f

Browse files
Merge pull request trentrichardson#327 from aparshin/dev
Fixed errors when call public methods from input without datepicker instance
2 parents 562d346 + 610129e commit d33d08f

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

jquery-ui-timepicker-addon.js

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,19 +1113,23 @@ $.datepicker._gotoToday = function(id) {
11131113
//#######################################################################################
11141114
// Disable & enable the Time in the datetimepicker
11151115
//#######################################################################################
1116-
$.datepicker._disableTimepickerDatepicker = function(target, date, withDate) {
1117-
var inst = this._getInst(target),
1118-
tp_inst = this._get(inst, 'timepicker');
1116+
$.datepicker._disableTimepickerDatepicker = function(target) {
1117+
var inst = this._getInst(target);
1118+
if (!inst) return;
1119+
1120+
var tp_inst = this._get(inst, 'timepicker');
11191121
$(target).datepicker('getDate'); // Init selected[Year|Month|Day]
11201122
if (tp_inst) {
11211123
tp_inst._defaults.showTimepicker = false;
11221124
tp_inst._updateDateTime(inst);
11231125
}
11241126
};
11251127

1126-
$.datepicker._enableTimepickerDatepicker = function(target, date, withDate) {
1127-
var inst = this._getInst(target),
1128-
tp_inst = this._get(inst, 'timepicker');
1128+
$.datepicker._enableTimepickerDatepicker = function(target) {
1129+
var inst = this._getInst(target)
1130+
if (!inst) return;
1131+
1132+
var tp_inst = this._get(inst, 'timepicker');
11291133
$(target).datepicker('getDate'); // Init selected[Year|Month|Day]
11301134
if (tp_inst) {
11311135
tp_inst._defaults.showTimepicker = true;
@@ -1174,9 +1178,11 @@ $.datepicker._setTime = function(inst, date) {
11741178
// Create new public method to set only time, callable as $().datepicker('setTime', date)
11751179
//#######################################################################################
11761180
$.datepicker._setTimeDatepicker = function(target, date, withDate) {
1177-
var inst = this._getInst(target),
1178-
tp_inst = this._get(inst, 'timepicker');
1179-
1181+
var inst = this._getInst(target);
1182+
if (!inst) return;
1183+
1184+
var tp_inst = this._get(inst, 'timepicker');
1185+
11801186
if (tp_inst) {
11811187
this._setDateFromField(inst);
11821188
var tp_date;
@@ -1199,8 +1205,10 @@ $.datepicker._setTimeDatepicker = function(target, date, withDate) {
11991205
//#######################################################################################
12001206
$.datepicker._base_setDateDatepicker = $.datepicker._setDateDatepicker;
12011207
$.datepicker._setDateDatepicker = function(target, date) {
1202-
var inst = this._getInst(target),
1203-
tp_date = (date instanceof Date) ? new Date(date.getTime()) : date;
1208+
var inst = this._getInst(target);
1209+
if (!inst) return;
1210+
1211+
var tp_date = (date instanceof Date) ? new Date(date.getTime()) : date;
12041212

12051213
this._updateDatepicker(inst);
12061214
this._base_setDateDatepicker.apply(this, arguments);
@@ -1212,8 +1220,10 @@ $.datepicker._setDateDatepicker = function(target, date) {
12121220
//#######################################################################################
12131221
$.datepicker._base_getDateDatepicker = $.datepicker._getDateDatepicker;
12141222
$.datepicker._getDateDatepicker = function(target, noDefault) {
1215-
var inst = this._getInst(target),
1216-
tp_inst = this._get(inst, 'timepicker');
1223+
var inst = this._getInst(target);
1224+
if (!inst) return;
1225+
1226+
var tp_inst = this._get(inst, 'timepicker');
12171227

12181228
if (tp_inst) {
12191229
this._setDateFromField(inst, noDefault);
@@ -1265,8 +1275,10 @@ $.datepicker._formatDate = function(inst, day, month, year){
12651275
//#######################################################################################
12661276
$.datepicker._base_optionDatepicker = $.datepicker._optionDatepicker;
12671277
$.datepicker._optionDatepicker = function(target, name, value) {
1268-
var inst = this._getInst(target),
1269-
tp_inst = this._get(inst, 'timepicker');
1278+
var inst = this._getInst(target);
1279+
if (!inst) return null;
1280+
1281+
var tp_inst = this._get(inst, 'timepicker');
12701282
if (tp_inst) {
12711283
var min = null, max = null, onselect = null;
12721284
if (typeof name == 'string') { // if min/max was set with the string

0 commit comments

Comments
 (0)