From b1f7afe262519b9fa0cae3646455a62c7705a01e Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 29 Aug 2025 11:19:36 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#2123 --- .../Inputfield/InputfieldDatetime/InputfieldDatetime.js | 8 ++++++++ .../InputfieldDatetime/InputfieldDatetime.min.js | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.js b/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.js index ca042f4e..8e5db5c1 100644 --- a/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.js +++ b/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.js @@ -185,6 +185,14 @@ function InputfieldDatetimeSelect() { * */ jQuery(document).ready(function($) { + + if(typeof $.datepicker !== 'undefined') { + var _gotoToday = $.datepicker._gotoToday; + $.datepicker._gotoToday = function(id) { + _gotoToday.call(this, id); + $.datepicker._curInst.input.datepicker('setDate', new Date()); + }; + } // init datepickers present when document is ready $("input.InputfieldDatetimeDatepicker:not(.InputfieldDatetimeDatepicker3):not(.initDatepicker)").each(function(n) { diff --git a/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.min.js b/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.min.js index 3cdaf004..5d5c5c1d 100644 --- a/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.min.js +++ b/wire/modules/Inputfield/InputfieldDatetime/InputfieldDatetime.min.js @@ -1 +1 @@ -function InputfieldDatetimeDatepicker($t){var pickerVisible=$t.is(".InputfieldDatetimeDatepicker2");var ts=parseInt($t.attr("data-ts"));var tsDate=null;var dateFormat=$t.attr("data-dateformat");var timeFormat=$t.attr("data-timeformat");var timeSelect=parseInt($t.attr("data-timeselect"));var hasTimePicker=timeFormat.length>0&&!pickerVisible;var showOn=$t.is(".InputfieldDatetimeDatepicker3")?"focus":"button";var ampm=parseInt($t.attr("data-ampm"))>0;var yearRange=$t.attr("data-yearrange");if(ts>1)tsDate=new Date(ts);if(pickerVisible){var $datepicker=$("
");$t.after($datepicker)}else{var $datepicker=$t}var options={changeMonth:true,changeYear:true,showOn:showOn,buttonText:">",showAnim:"fadeIn",dateFormat:dateFormat,gotoCurrent:true,defaultDate:tsDate};var attrOptions=JSON.parse($t.attr("data-datepicker"));var customOptions={};if(typeof ProcessWire.config.InputfieldDatetimeDatepickerDefaults==="object"){options=$.extend({},ProcessWire.config.InputfieldDatetimeDatepickerDefaults,options)}if(typeof ProcessWire.config.InputfieldDatetimeDatepickerOptions==="object"){customOptions=ProcessWire.config.InputfieldDatetimeDatepickerOptions}if(yearRange&&yearRange.length)options.yearRange=yearRange;if(hasTimePicker){options.ampm=ampm;options.timeFormat=timeFormat;if(timeSelect>0){options.controlType="select";options.oneLine=true}if(timeFormat.indexOf("ss")>-1)options.showSecond=true;if(timeFormat.indexOf("m")==-1)options.showMinute=false;options=$.extend(options,attrOptions,customOptions);$datepicker.datetimepicker(options)}else{options=$.extend(options,attrOptions,customOptions);$datepicker.datepicker(options)}if(pickerVisible){$datepicker.on("change",function(e){var d=$datepicker.datepicker("getDate");var str=$.datepicker.formatDate(dateFormat,d);$t.val(str)})}if(showOn=="button"){var $button=$t.next("button.ui-datepicker-trigger");if($button.length){var $a=$("");$button.after($a).hide();$a.on("click",function(){$button.trigger("click");return false})}}$t.addClass("initDatepicker")}function InputfieldDatetimeSelect(){function validate($select){var $parent=$select.parent(),$month=$parent.children(".InputfieldDatetimeMonth"),month=parseInt($month.val()),$day=$parent.children(".InputfieldDatetimeDay"),day=parseInt($day.val()),$year=$parent.children(".InputfieldDatetimeYear"),year=parseInt($year.val()),$value=$parent.children(".InputfieldDatetimeValue"),date=month&&day&&year?new Date(year,month-1,day):null,errorClass="InputfieldDatetimeError";if(date&&date.getMonth()+1!=month){day="";$day.val("").addClass(errorClass)}else{$day.removeClass(errorClass)}$value.val(date&&day?year+"-"+month+"-"+day:"")}function yearChange($select){var value=$select.val();if(value!=="-"&&value!=="+")return;var $blankOption=$select.find('option[value=""]'),$option=$select.find('option[value="'+value+'"]'),fromYear=parseInt($select.attr("data-from-year")),toYear=parseInt($select.attr("data-to-year")),numYears=toYear-fromYear,n=0,$o;if(numYears<10)numYears=10;if(value==="-"){toYear=fromYear-1;fromYear=fromYear-numYears;for(n=toYear;n>=fromYear;n--){$o=jQuery("