Fix number fields in api explorer
authorColeman Watts <coleman@civicrm.org>
Sun, 22 Sep 2019 18:31:07 +0000 (14:31 -0400)
committerColeman Watts <coleman@civicrm.org>
Sun, 22 Sep 2019 18:32:25 +0000 (14:32 -0400)
Only use html5 number input when dealing with single valued input

ang/api4Explorer/Explorer.js

index c7e08dd9605382a92b3e26629ff68dbc9acfdb11..76cd99d942d7dba26fa99bf1f17593f310d1d019 100644 (file)
       require: 'ngModel',
       link: function (scope, element, attrs, ctrl) {
         var ts = scope.ts = CRM.ts('api4'),
-          multi = _.includes(['IN', 'NOT IN'], scope.data.op),
+          multi = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], scope.data.op),
           entity = $routeParams.api4entity,
           action = $routeParams.api4action;
 
           if (!op) {
             op = field.serialize || dataType === 'Array' ? 'IN' : '=';
           }
-          multi = _.includes(['IN', 'NOT IN'], op);
+          multi = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], op);
           if (op === 'IS NULL' || op === 'IS NOT NULL') {
             $el.hide();
             return;
                 {id: '0', text: ts('No')}
               ]});
             }
-          } else if (dataType === 'Integer') {
+          } else if (dataType === 'Integer' && !multi) {
             $el.attr('type', 'number');
           }
         }