Skip to content

Commit dbba19c

Browse files
authored
Merge pull request #2312 from codalab/score_in_submission_panel
Submission Score - show primary column score and use precision set for the column
2 parents d49db37 + f012433 commit dbba19c

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/apps/api/serializers/submission_leaderboard.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,15 @@
88
class SubmissionScoreSerializer(serializers.ModelSerializer):
99
index = serializers.IntegerField(source='column.index', read_only=True)
1010
column_key = serializers.CharField(source='column.key', read_only=True)
11+
precision = serializers.IntegerField(source='column.precision', read_only=True)
12+
is_primary = serializers.SerializerMethodField()
1113

1214
class Meta:
1315
model = SubmissionScore
14-
fields = ('id', 'index', 'score', 'column_key')
16+
fields = ('id', 'index', 'score', 'column_key', 'precision', 'is_primary')
17+
18+
def get_is_primary(self, obj):
19+
return obj.column.index == obj.column.leaderboard.primary_index
1520

1621

1722
class SubmissionLeaderBoardSerializer(serializers.ModelSerializer):

src/static/riot/competitions/detail/submission_manager.tag

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,8 +641,12 @@
641641

642642
self.get_score = function (submission) {
643643
try {
644-
return parseFloat(submission.scores[0].score).toFixed(2)
645-
644+
// Look for a primary score, fallback to the first score if not found
645+
let score_obj = _.find(submission.scores, s => s.is_primary) || submission.scores[0]
646+
if (score_obj) {
647+
return parseFloat(score_obj.score).toFixed(score_obj.precision || 0)
648+
}
649+
return ""
646650
} catch {
647651
return ""
648652
}

0 commit comments

Comments
 (0)