mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 21:13:50 +00:00
ssh://armin@sapsailing.com/home/trac/git into racecommittee_integrated Conflicts: java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java
102 lines
4.0 KiB
HTML
102 lines
4.0 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" >
|
|
<head>
|
|
<title>Extreme Sailing Series leaderboard</title>
|
|
<link rel="stylesheet" href="../css/leaderboard.css" type="text/css"/>
|
|
<link rel="stylesheet" href="../css/tablesorter.css" type="text/css"/>
|
|
<script type="text/javascript" src="jquery-latest.js"></script>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="jquery.tablesorter.js"></script>
|
|
<script type="text/javascript">
|
|
|
|
$.getJSON('http://ess40-2012.sapsailing.com/sailingserver/leaderboard?leaderboardName=Extreme%2040%20Rio', function (data) {
|
|
|
|
var h1; h2;
|
|
var Header = new Array();
|
|
var Row = new Array();
|
|
var Values = new Array();
|
|
var Competitors = new Array();
|
|
var toWrite = '';
|
|
var imgFlagPath = '/gwt/images/flags/';
|
|
|
|
h1 = data.name.toString();
|
|
if(data.scoringComment) {
|
|
h2 = data.scoringComment.toString();
|
|
} else {
|
|
h2 = '';
|
|
}
|
|
Header.push("Rank");
|
|
Header.push("Team");
|
|
Header = $.merge(Header, data.columnNames);
|
|
Header.push("∑");
|
|
Competitors = data.competitors;
|
|
|
|
//create HTML Header
|
|
toWrite += '<thead><tr>';
|
|
for (var i = 0; i < Header.length; i++) {
|
|
toWrite += '<th>' + Header[i] + '</th>';
|
|
};
|
|
toWrite += '</tr></thead><tbody>';
|
|
|
|
//collect Row Data
|
|
$.each(Competitors, function (index, values) {
|
|
Row.push(values.rank.toString());
|
|
Row.push(values.name.toString());
|
|
Values = values.raceScores;
|
|
|
|
//get Competitor Points
|
|
$.each(Values, function (indexPoints, valuesPoints) {
|
|
if(valuesPoints.maxPointsReason.toString() != 'NONE') {
|
|
Row.push(valuesPoints.maxPointsReason.toString());
|
|
} else {
|
|
Row.push(valuesPoints.totalPoints.toString());
|
|
}
|
|
});
|
|
|
|
Row.push(values.totalPoints.toString());
|
|
//Row complete
|
|
|
|
//write Row
|
|
toWrite += '<tr>';
|
|
for (var j = 0; j < Header.length; j++) {
|
|
if (j < Row.length) {
|
|
if(j == 0) {
|
|
toWrite += '<td>' + Row[j] + '</td>';
|
|
} else if(j == 1) {
|
|
toWrite += '<td style="white-space:nowrap;">';
|
|
toWrite += '<img style="padding-right:8px;" src="' + imgFlagPath + values.countryCode.toString().toLowerCase() + '.png">';
|
|
toWrite += Row[j];
|
|
toWrite + '</td>';
|
|
} else if (j > 1 && j < (Row.length - 1)) {
|
|
toWrite += '<td class="leaderboard-points-TotalPoints-NotDiscarded">' + Row[j] + '</td>';
|
|
} else {
|
|
toWrite += '<td>' + Row[j] + '</td>';
|
|
}
|
|
} else {//fill rest of the Header row
|
|
toWrite += '<td> </td>';
|
|
}
|
|
};
|
|
toWrite += '</tr>';
|
|
//Row completed
|
|
|
|
//reset Row
|
|
Row = new Array();
|
|
});
|
|
toWrite += '</tbody>';
|
|
|
|
$('#h1').text(h1);
|
|
$('#h2').text(h2);
|
|
$('#leaderboardTable').html(toWrite);
|
|
|
|
$("#leaderboardTable").tablesorter();
|
|
});
|
|
</script>
|
|
</head>
|
|
<body>
|
|
|
|
<h1 id="h1"></h1>
|
|
<h2 id="h2"></h2>
|
|
<table id="leaderboardTable" class="tablesorter"></table>
|
|
|
|
</body>
|
|
</html> |