@@ -25,7 +25,8 @@ class Range extends Framework7Class {
2525 scaleSteps : 5 ,
2626 scaleSubSteps : 0 ,
2727 formatScaleLabel : null ,
28- limitKnobPosition : app . theme === 'ios' ,
28+ limitKnobPosition : true ,
29+ limitBarPosition : app . theme === 'md' ,
2930 } ;
3031
3132 // Extend defaults with modules params
@@ -83,6 +84,7 @@ class Range extends Framework7Class {
8384 scaleSteps,
8485 scaleSubSteps,
8586 limitKnobPosition,
87+ limitBarPosition,
8688 } = range . params ;
8789
8890 extend ( range , {
@@ -104,6 +106,7 @@ class Range extends Framework7Class {
104106 scaleSteps,
105107 scaleSubSteps,
106108 limitKnobPosition,
109+ limitBarPosition,
107110 } ) ;
108111
109112 if ( $inputEl ) {
@@ -446,6 +449,7 @@ class Range extends Framework7Class {
446449 vertical,
447450 verticalReversed,
448451 limitKnobPosition,
452+ limitBarPosition,
449453 } = range ;
450454 const knobSize = vertical ? knobHeight : knobWidth ;
451455 const rangeSize = vertical ? rangeHeight : rangeWidth ;
@@ -459,9 +463,13 @@ class Range extends Framework7Class {
459463 : 'left' ;
460464 if ( range . dual ) {
461465 const progress = [ ( value [ 0 ] - min ) / ( max - min ) , ( value [ 1 ] - min ) / ( max - min ) ] ;
466+ const positionStartProgress = limitBarPosition ? knobSize / rangeSize : 0 ;
467+ const barProgressModify = limitBarPosition ? ( rangeSize - knobSize ) / rangeSize : 1 ;
462468 $barActiveEl . css ( {
463- [ positionProperty ] : `${ progress [ 0 ] * 100 } %` ,
464- [ vertical ? 'height' : 'width' ] : `${ ( progress [ 1 ] - progress [ 0 ] ) * 100 } %` ,
469+ [ positionProperty ] : `${ ( positionStartProgress + progress [ 0 ] * barProgressModify ) * 100 } %` ,
470+ [ vertical ? 'height' : 'width' ] : `${
471+ ( progress [ 1 ] - progress [ 0 ] - positionStartProgress ) * 100 * barProgressModify
472+ } %`,
465473 } ) ;
466474 knobs . forEach ( ( $knobEl , knobIndex ) => {
467475 let startPos = rangeSize * progress [ knobIndex ] ;
@@ -476,7 +484,8 @@ class Range extends Framework7Class {
476484 } ) ;
477485 } else {
478486 const progress = ( value - min ) / ( max - min ) ;
479- $barActiveEl . css ( vertical ? 'height' : 'width' , `${ progress * 100 } %` ) ;
487+ const barProgressModify = limitBarPosition ? ( rangeSize - knobSize ) / rangeSize : 1 ;
488+ $barActiveEl . css ( vertical ? 'height' : 'width' , `${ progress * 100 * barProgressModify } %` ) ;
480489
481490 let startPos = rangeSize * progress ;
482491
0 commit comments