X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=js%2Fcrm.datepicker.js;h=ee628f118ef2bda5b39c9985c4bc35381004ff3e;hb=a2e8bd35b14a8237cd6e972a7ea731118b773ae5;hp=3a8eebbc9bdc8f3463df86e63bbf46397568ec36;hpb=db155ac18c958f7f6cefe2fcd6ebe967fd295ebc;p=civicrm-core.git diff --git a/js/crm.datepicker.js b/js/crm.datepicker.js index 3a8eebbc9b..ee628f118e 100644 --- a/js/crm.datepicker.js +++ b/js/crm.datepicker.js @@ -2,7 +2,7 @@ "use strict"; /** - * @see http://wiki.civicrm.org/confluence/display/CRMDOC/crmDatepicker + * @see https://docs.civicrm.org/dev/en/latest/framework/ui/#date-picker */ $.fn.crmDatepicker = function(options) { return $(this).each(function() { @@ -56,10 +56,10 @@ CRM.utils.copyAttributes($dataField, $dateField, ['style', 'class', 'disabled', 'aria-label']); placeholder = settings.placeholder || $dataField.attr('placeholder'); $dateField.addClass('crm-form-' + type); - if (!settings.minDate && !_.isUndefined(settings.start_date_years)) { + if (!settings.minDate && isInt(settings.start_date_years)) { settings.minDate = '' + (new Date().getFullYear() - settings.start_date_years) + '-01-01'; } - if (!settings.maxDate && !_.isUndefined(settings.end_date_years)) { + if (!settings.maxDate && isInt(settings.end_date_years)) { settings.maxDate = '' + (new Date().getFullYear() + settings.end_date_years) + '-12-31'; } if (hasDatepicker) { @@ -105,10 +105,7 @@ */ function dateHasDay() { var lowerFormat = settings.dateFormat.toLowerCase(); - if (lowerFormat.indexOf('d') < 0) { - return false; - } - return true; + return lowerFormat.indexOf('d') >= 0; } function updateInputFields(e, context) { var val = $dataField.val(), @@ -159,4 +156,13 @@ updateInputFields(); }); }; + + function isInt(value) { + if (isNaN(value)) { + return false; + } + var x = parseFloat(value); + return (x | 0) === x; + } + })(jQuery, CRM, CRM._);