diff --git a/src/views/LeaderboardView.vue b/src/views/LeaderboardView.vue
index dbf3156..c324d41 100644
--- a/src/views/LeaderboardView.vue
+++ b/src/views/LeaderboardView.vue
@@ -5,11 +5,13 @@
Season {{ seasonNumber }} Leaders
Week {{ weekNumber }}
{{ statType }} Leaderboards - Min {{ statMinimum }}
-
+
+
+
@@ -119,6 +123,7 @@ export default {
seasonNumber: CURRENT_SEASON,
statType: 'Batting' as 'Batting' | 'Pitching' | 'Fielding',
pitchingType: 'All' as 'All' | 'Starters' | 'Relievers',
+ invertSort: false as boolean,
weekNumber: undefined! as number
}
},
@@ -278,8 +283,8 @@ export default {
// concat an empty array so that the existing array is not sorted as a side effect
const statBase: BattingStat[] = paExemptStat.includes(stat) ? this.allPlayersBattingStats.concat([]) : this.qualifyingBattingStats.concat([])
- // concat an empty array so that the existing array is not sorted as a side effect
- return statBase.sort((a, b) => (b[stat] as number) - (a[stat] as number)).slice(0, 10)
+ const sortMultiplier = this.invertSort ? -1 : 1
+ return statBase.sort((a, b) => sortMultiplier * ((b[stat] as number) - (a[stat] as number))).slice(0, 10)
},
getTop10PitchingStatByCategory(stat: keyof PitchingStat): PitchingStat[] {
// qualifying IP exempt stats
@@ -297,7 +302,7 @@ export default {
)
const reverseSortStats = ['era', 'whip', 'bbPer9']
- const sortMultiplier = reverseSortStats.includes(stat) ? -1 : 1
+ const sortMultiplier = (reverseSortStats.includes(stat) ? -1 : 1) * (this.invertSort ? -1 : 1)
return filteredStatBase.sort((a, b) => sortMultiplier * ((b[stat] as number) - (a[stat] as number))).slice(0, 10)
},
@@ -322,14 +327,16 @@ export default {
// 'xCheckCountLeftField' | 'xCheckCountCenterField' | 'xCheckCountRightField'
const xCheckCountProperty = `xCheckCount${position[1]}` as keyof FlatFieldingStat
+ const sortMultiplier = this.invertSort ? -1 : 1
return this.allPlayersFieldingStats.concat([])
.filter(stat => (stat[xCheckCountProperty] as number) >= Math.floor(xCheckCountPerWeek * this.weekNumberForCalcs))
- .sort((a, b) => ((b[stat] as number) - (a[stat] as number))).slice(0, 10)
+ .sort((a, b) => sortMultiplier * ((b[stat] as number) - (a[stat] as number))).slice(0, 10)
}
// non-wF% stats currently won't have any qualifying minimum
+ const sortMultiplier = this.invertSort ? -1 : 1
return this.allPlayersFieldingStats.concat([])
- .sort((a, b) => ((b[stat] as number) - (a[stat] as number)))
+ .sort((a, b) => sortMultiplier * ((b[stat] as number) - (a[stat] as number)))
.slice(0, 10)
},
formatNumericalStat(stat: BattingStat | PitchingStat | FlatFieldingStat, property: keyof BattingStat | keyof PitchingStat | keyof FlatFieldingStat, precision: number): number | string {
@@ -459,4 +466,13 @@ export default {
}
}
}
-
\ No newline at end of file
+
+
+
\ No newline at end of file