File tree Expand file tree Collapse file tree 2 files changed +21
-9
lines changed Expand file tree Collapse file tree 2 files changed +21
-9
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ import ClassificationBase from "./ClassificationBase";
1414import  PerItemMixin  from  "../../mixins/PerItem" ; 
1515import  {  FF_LSDV_4583 ,  isFF  }  from  "../../utils/feature-flags" ; 
1616import  {  cn  }  from  "../../utils/bem" ; 
17+ import  {  safeNumber ,  positiveNumber  }  from  "../../utils/number" ; 
1718
1819/** 
1920 * The Number tag supports numeric classification. Use to classify tasks using numbers. 
@@ -171,15 +172,15 @@ const Model = types
171172      } , 
172173
173174      increaseValue ( )  { 
174-         if   ( self . number   >=   Number ( self . max ) )   { 
175-            self . setNumber ( 0 ) ; 
176-         }   else   { 
177-            if   ( self . number   >   0 )   { 
178-              self . setNumber ( self . number   +   1 ) ; 
179-            }   else   { 
180-              self . setNumber ( 1 ) ; 
181-            } 
182-         } 
175+         const   min   =   safeNumber ( self . min ,   0 ) ; 
176+         const   max   =   safeNumber ( self . max ,   Number . POSITIVE_INFINITY ) ; 
177+         const   step   =   positiveNumber ( self . step ) ; 
178+         const   defaultValue   =   safeNumber ( self . defaultvalue ,   min ) ; 
179+         const   current   =   safeNumber ( self . number ,   defaultValue ) ; 
180+ 
181+         const   next   =   current   +   step   >   max  ?  min  :  current   +   step ; 
182+ 
183+         self . setNumber ( next ) ; 
183184      } , 
184185
185186      onHotKey ( )  { 
Original file line number Diff line number Diff line change 1+ import  {  isDefined  }  from  "./utilities" ; 
2+ 
3+ export  const  safeNumber  =  ( v ,  fallback )  =>  { 
4+   const  n  =  Number ( v ) ; 
5+   return  isDefined ( v )  &&  Number . isFinite ( n )  ? n  : fallback ; 
6+ } ; 
7+ 
8+ export  const  positiveNumber  =  ( v ,  fallback  =  1 )  =>  { 
9+   const  n  =  Number ( v ) ; 
10+   return  Number . isFinite ( n )  &&  n  >  0  ? n  : fallback ; 
11+ } ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments