Merge pull request #23763 from eileenmcnaughton/act_test
[civicrm-core.git] / js / crm.datepicker.js
index 3a8eebbc9bdc8f3463df86e63bbf46397568ec36..19a40e98af640fd7d3e6138c9aa6381b99f79fa2 100644 (file)
@@ -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() {
@@ -44,6 +44,7 @@
           .change(updateDataField)
           .timeEntry({
             spinnerImage: '',
+            useMouseWheel: false,
             show24Hours: settings.time === true || settings.time === undefined ? CRM.config.timeIs24Hr : settings.time == '24'
           });
         if (!placeholder) {
         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) {
        */
       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(),
       updateInputFields();
     });
   };
+
+  function isInt(value) {
+    if (isNaN(value)) {
+      return false;
+    }
+    var x = parseFloat(value);
+    return (x | 0) === x;
+  }
+
 })(jQuery, CRM, CRM._);