@@ -55,12 +55,13 @@ export class ScalarCardDataTable {
5555 getMinValueInRange (
5656 points : ScalarCardPoint [ ] ,
5757 startPointIndex : number ,
58- endPointIndex : number
58+ endPointIndex : number ,
59+ smoothed : boolean = false
5960 ) : number {
60- let minValue = points [ startPointIndex ] . value ;
61+ let minValue = this . maybeSmoothedValue ( points [ startPointIndex ] , smoothed ) ;
6162 for ( let i = startPointIndex ; i <= endPointIndex ; i ++ ) {
62- if ( minValue > points [ i ] . value ) {
63- minValue = points [ i ] . value ;
63+ if ( minValue > this . maybeSmoothedValue ( points [ i ] , smoothed ) ) {
64+ minValue = this . maybeSmoothedValue ( points [ i ] , smoothed ) ;
6465 }
6566 }
6667 return minValue ;
@@ -69,17 +70,22 @@ export class ScalarCardDataTable {
6970 getMaxValueInRange (
7071 points : ScalarCardPoint [ ] ,
7172 startPointIndex : number ,
72- endPointIndex : number
73+ endPointIndex : number ,
74+ smoothed : boolean = false
7375 ) : number {
74- let maxValue = points [ startPointIndex ] . value ;
76+ let maxValue = this . maybeSmoothedValue ( points [ startPointIndex ] , smoothed ) ;
7577 for ( let i = startPointIndex ; i <= endPointIndex ; i ++ ) {
76- if ( maxValue < points [ i ] . value ) {
77- maxValue = points [ i ] . value ;
78+ if ( maxValue < this . maybeSmoothedValue ( points [ i ] , smoothed ) ) {
79+ maxValue = this . maybeSmoothedValue ( points [ i ] , smoothed ) ;
7880 }
7981 }
8082 return maxValue ;
8183 }
8284
85+ maybeSmoothedValue ( point : ScalarCardPoint , smoothed : boolean ) {
86+ return smoothed ? point . y : point . value ;
87+ }
88+
8389 getTimeSelectionTableData ( ) : SelectedStepRunData [ ] {
8490 if ( this . stepOrLinkedTimeSelection === null ) {
8591 return [ ] ;
@@ -135,7 +141,7 @@ export class ScalarCardDataTable {
135141 continue ;
136142 }
137143 selectedStepData . VALUE_CHANGE =
138- closestEndPoint . value - closestStartPoint . value ;
144+ closestEndPoint . y - closestStartPoint . y ;
139145 continue ;
140146 case ColumnHeaders . START_STEP :
141147 selectedStepData . START_STEP = closestStartPoint . step ;
@@ -147,13 +153,13 @@ export class ScalarCardDataTable {
147153 selectedStepData . END_STEP = closestEndPoint . step ;
148154 continue ;
149155 case ColumnHeaders . START_VALUE :
150- selectedStepData . START_VALUE = closestStartPoint . value ;
156+ selectedStepData . START_VALUE = closestStartPoint . y ;
151157 continue ;
152158 case ColumnHeaders . END_VALUE :
153159 if ( ! closestEndPoint ) {
154160 continue ;
155161 }
156- selectedStepData . END_VALUE = closestEndPoint . value ;
162+ selectedStepData . END_VALUE = closestEndPoint . y ;
157163 continue ;
158164 case ColumnHeaders . MIN_VALUE :
159165 if ( ! closestEndPointIndex ) {
@@ -162,7 +168,8 @@ export class ScalarCardDataTable {
162168 selectedStepData . MIN_VALUE = this . getMinValueInRange (
163169 datum . points ,
164170 closestStartPointIndex ,
165- closestEndPointIndex
171+ closestEndPointIndex ,
172+ true
166173 ) ;
167174 continue ;
168175 case ColumnHeaders . MAX_VALUE :
@@ -172,16 +179,16 @@ export class ScalarCardDataTable {
172179 selectedStepData . MAX_VALUE = this . getMaxValueInRange (
173180 datum . points ,
174181 closestStartPointIndex ,
175- closestEndPointIndex
182+ closestEndPointIndex ,
183+ true
176184 ) ;
177185 continue ;
178186 case ColumnHeaders . PERCENTAGE_CHANGE :
179187 if ( ! closestEndPoint ) {
180188 continue ;
181189 }
182190 selectedStepData . PERCENTAGE_CHANGE =
183- ( closestEndPoint . value - closestStartPoint . value ) /
184- closestStartPoint . value ;
191+ ( closestEndPoint . y - closestStartPoint . y ) / closestStartPoint . y ;
185192 continue ;
186193 default :
187194 continue ;
0 commit comments