@@ -55,12 +55,13 @@ export class ScalarCardDataTable {
55
55
getMinValueInRange (
56
56
points : ScalarCardPoint [ ] ,
57
57
startPointIndex : number ,
58
- endPointIndex : number
58
+ endPointIndex : number ,
59
+ smoothed : boolean = false
59
60
) : number {
60
- let minValue = points [ startPointIndex ] . value ;
61
+ let minValue = this . maybeSmoothedValue ( points [ startPointIndex ] , smoothed ) ;
61
62
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 ) ;
64
65
}
65
66
}
66
67
return minValue ;
@@ -69,17 +70,22 @@ export class ScalarCardDataTable {
69
70
getMaxValueInRange (
70
71
points : ScalarCardPoint [ ] ,
71
72
startPointIndex : number ,
72
- endPointIndex : number
73
+ endPointIndex : number ,
74
+ smoothed : boolean = false
73
75
) : number {
74
- let maxValue = points [ startPointIndex ] . value ;
76
+ let maxValue = this . maybeSmoothedValue ( points [ startPointIndex ] , smoothed ) ;
75
77
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 ) ;
78
80
}
79
81
}
80
82
return maxValue ;
81
83
}
82
84
85
+ maybeSmoothedValue ( point : ScalarCardPoint , smoothed : boolean ) {
86
+ return smoothed ? point . y : point . value ;
87
+ }
88
+
83
89
getTimeSelectionTableData ( ) : SelectedStepRunData [ ] {
84
90
if ( this . stepOrLinkedTimeSelection === null ) {
85
91
return [ ] ;
@@ -135,7 +141,7 @@ export class ScalarCardDataTable {
135
141
continue ;
136
142
}
137
143
selectedStepData . VALUE_CHANGE =
138
- closestEndPoint . value - closestStartPoint . value ;
144
+ closestEndPoint . y - closestStartPoint . y ;
139
145
continue ;
140
146
case ColumnHeaders . START_STEP :
141
147
selectedStepData . START_STEP = closestStartPoint . step ;
@@ -147,13 +153,13 @@ export class ScalarCardDataTable {
147
153
selectedStepData . END_STEP = closestEndPoint . step ;
148
154
continue ;
149
155
case ColumnHeaders . START_VALUE :
150
- selectedStepData . START_VALUE = closestStartPoint . value ;
156
+ selectedStepData . START_VALUE = closestStartPoint . y ;
151
157
continue ;
152
158
case ColumnHeaders . END_VALUE :
153
159
if ( ! closestEndPoint ) {
154
160
continue ;
155
161
}
156
- selectedStepData . END_VALUE = closestEndPoint . value ;
162
+ selectedStepData . END_VALUE = closestEndPoint . y ;
157
163
continue ;
158
164
case ColumnHeaders . MIN_VALUE :
159
165
if ( ! closestEndPointIndex ) {
@@ -162,7 +168,8 @@ export class ScalarCardDataTable {
162
168
selectedStepData . MIN_VALUE = this . getMinValueInRange (
163
169
datum . points ,
164
170
closestStartPointIndex ,
165
- closestEndPointIndex
171
+ closestEndPointIndex ,
172
+ true
166
173
) ;
167
174
continue ;
168
175
case ColumnHeaders . MAX_VALUE :
@@ -172,16 +179,16 @@ export class ScalarCardDataTable {
172
179
selectedStepData . MAX_VALUE = this . getMaxValueInRange (
173
180
datum . points ,
174
181
closestStartPointIndex ,
175
- closestEndPointIndex
182
+ closestEndPointIndex ,
183
+ true
176
184
) ;
177
185
continue ;
178
186
case ColumnHeaders . PERCENTAGE_CHANGE :
179
187
if ( ! closestEndPoint ) {
180
188
continue ;
181
189
}
182
190
selectedStepData . PERCENTAGE_CHANGE =
183
- ( closestEndPoint . value - closestStartPoint . value ) /
184
- closestStartPoint . value ;
191
+ ( closestEndPoint . y - closestStartPoint . y ) / closestStartPoint . y ;
185
192
continue ;
186
193
default :
187
194
continue ;
0 commit comments