Feat: initially add dr stuff
This commit is contained in:
parent
0e69a5546e
commit
dc0453fa64
5 changed files with 3755 additions and 0 deletions
324
dr_list.css
Normal file
324
dr_list.css
Normal file
|
@ -0,0 +1,324 @@
|
|||
/**
|
||||
* digital ROCK CSS for jQuery based Javascript API
|
||||
*
|
||||
* @link http://www.digitalrock.de
|
||||
* @author Ralf Becker <RalfBecker@digitalROCK.de>
|
||||
* @copyright 2010-13 by RalfBecker@digitalROCK.de
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
table.DrTable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Background etc. for header rows
|
||||
*/
|
||||
table.DrTable thead, table.DrTable tbody th {
|
||||
background-color: #c0c0c0;
|
||||
}
|
||||
/**
|
||||
* Background etc. for body rows
|
||||
*/
|
||||
table.DrTable tbody {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
/**
|
||||
* Center all columns by default
|
||||
*/
|
||||
table.DrTable th, table.DrTable td {
|
||||
text-align: center;
|
||||
}
|
||||
/**
|
||||
* Left justify text columns like name
|
||||
*/
|
||||
table.DrTable th.lastname, table.DrTable td.lastname, table.DrTable td.firstname, table.DrTable td.boulder,
|
||||
table.DrTable td.team_name, table.DrTable tbody th, .Starters table.DrTable th, .Starters table.DrTable td,
|
||||
table.DrTable th.federation, table.DrTable td.federation, table.DrTable th.rgz, table.DrTable td.rgz,
|
||||
table.DrTable th.city, table.DrTable td.city, table.DrTable th.footer {
|
||||
padding-left: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
table.DrTable td.final_points, table.DrTable td.quali_points {
|
||||
padding-right: 5px;
|
||||
text-align: right;
|
||||
}
|
||||
table.DrTable td.final_points {
|
||||
padding-right: 15px;
|
||||
}
|
||||
table.DrTable tbody th a {
|
||||
padding-left: 10px;
|
||||
font-weight: normal;
|
||||
}
|
||||
table.DrTable.boulder2018 tbody td[class^="result"] {
|
||||
min-width: 6em;
|
||||
}
|
||||
table.DrTable.boulder2018 tbody td.result_rank {
|
||||
min-width: 0;
|
||||
}
|
||||
/**
|
||||
* alignment of multiple values in a column by align_td_nbsp function
|
||||
*/
|
||||
table.DrTable td div.tdAlign2 { width: 30%; display: inline-block; }
|
||||
table.DrTable td div.tdAlign2:first-child { width: 60%; display: inline-block; }
|
||||
table.DrTable td div.tdAlign3 { width: 20%; display: inline-block; }
|
||||
table.DrTable td div.tdAlign3:first-child { width: 40%; display: inline-block; }
|
||||
table.DrTable td div.tdAlign4 { width: 16%; display: inline-block; }
|
||||
table.DrTable td div.tdAlign4:first-child { width: 50%; display: inline-block; }
|
||||
/**
|
||||
* Capitalize names
|
||||
*/
|
||||
.lastname {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.Starters .lastname:after {
|
||||
content: ", ";
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide names (this is only for show, no real name below filter)
|
||||
*/
|
||||
tr.hideNames .lastname, tr.hideNames .firstname {
|
||||
-webkit-filter: blur(2px) grayscale(1) opacity(50%);
|
||||
filter: blur(2px) grayscale(1) opacity(50%);
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the header
|
||||
*/
|
||||
.Results h1, .Startlist h1, .Resultlist h1, .Starters h1, .Profile h1 {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-size: 20pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.Results h3, .Profile h3, .Profile h2 {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.Results select.compChooser {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Quota line
|
||||
*/
|
||||
.quota_line > td {
|
||||
border-top: 2px solid black;
|
||||
}
|
||||
|
||||
/**
|
||||
* See also links
|
||||
*/
|
||||
ul.seeAlso li {
|
||||
display: block ! important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Result column
|
||||
*/
|
||||
.result {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/**
|
||||
* Toc row
|
||||
*/
|
||||
ul.listToc, ul.listCatToc {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
float: left;
|
||||
}
|
||||
ul.listCatToc {
|
||||
float: right;
|
||||
}
|
||||
ul.listToc li, ul.listCatToc li {
|
||||
display: inline-block;
|
||||
margin-right: 15px !important;
|
||||
text-transform: uppercase;
|
||||
line-height: 1.2;
|
||||
}
|
||||
ul.listCatToc li {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* New boulder result display
|
||||
*/
|
||||
div.boulder, div.boulderNone, div.boulderTop, div.boulderBonus {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
display: inline-block;
|
||||
margin-right: 2px;
|
||||
background-size: 100%;
|
||||
position: relative;
|
||||
}
|
||||
td.boulder > div {
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.boulderNone {
|
||||
background-image: url(../../templates/default/images/boulderNone.png);
|
||||
}
|
||||
|
||||
div.boulderTop {
|
||||
background-image: url(../../templates/default/images/boulderTop.png);
|
||||
}
|
||||
|
||||
div.boulderBonus {
|
||||
background-image: url(../../templates/default/images/boulderBonus.png);
|
||||
}
|
||||
|
||||
div.bonusTries, div.topTries {
|
||||
position: absolute;
|
||||
font-size: 90%;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
div.bonusTries {
|
||||
right: 3px;
|
||||
bottom: 1px;
|
||||
line-height: 1;
|
||||
}
|
||||
div.topTries {
|
||||
left: 3px;
|
||||
top: 1px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Profile page
|
||||
*/
|
||||
div.Profile {
|
||||
display: inline-block;
|
||||
}
|
||||
.profileHeader, .profileData {
|
||||
width: 100%;
|
||||
}
|
||||
.profileHeader .profileNation {
|
||||
margin: 5px 0 5px 0;
|
||||
}
|
||||
.profileLogo {
|
||||
text-align: right;
|
||||
}
|
||||
.profileRank:after, .profileResultRank:after {
|
||||
content: ".";
|
||||
}
|
||||
.profileData td {
|
||||
font-style: italic;
|
||||
}
|
||||
td.profileAge, td.profileBirthdate, td.profileBirthplace, td.profileCity, td.profileStreet, td.profileRank,
|
||||
td.profilePractice, td.profileOtherSports, td.profileProfessional, td.profileHeight, td.profileWeight {
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
.profileResult td, h1, h3, td.profileRanglist {
|
||||
font-style: normal;
|
||||
}
|
||||
td.profileRanglist {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.profileResultHidden {
|
||||
display: none;
|
||||
}
|
||||
tr.profileMarginTop > td {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.profileResultHeader td {
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-size: 120%;
|
||||
}
|
||||
.profileData td:first-child {
|
||||
width: 2em;
|
||||
}
|
||||
/**
|
||||
* Aggregated rankings
|
||||
*/
|
||||
.Aggregated th.nation, .Aggregated td.nation, .Aggregated td.name, .Aggregated th.name {
|
||||
text-align: left;
|
||||
padding-left: 3px;
|
||||
}
|
||||
.Aggregated td.name, .Aggregated th.result, .Aggregated td.result {
|
||||
line-height: 1.3;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.Aggregated td.calculationHidden, .Aggregated th.calculationHidden {
|
||||
display: none;
|
||||
}
|
||||
.Aggregated div.resultRows, .Aggregated div.resultRow {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
.Aggregated td.result span
|
||||
{
|
||||
padding-right: 1ex;
|
||||
}
|
||||
.Aggregated td.result span.rank {
|
||||
display: inline-block;
|
||||
width: 1.5em;
|
||||
}
|
||||
.Aggregated td.result span.rank:after, .Aggregated td.rank:after {
|
||||
content: ".";
|
||||
}
|
||||
.Aggregated td.result span.points {
|
||||
float: right;
|
||||
}
|
||||
.Aggregated .rankingHeader2 {
|
||||
white-space: pre;
|
||||
}
|
||||
/**
|
||||
* ResultChooser widget
|
||||
*/
|
||||
.ResultChooser > select {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resultlist
|
||||
*/
|
||||
.Resultlist h3.resultDate:empty {
|
||||
display: none;
|
||||
}
|
||||
.error:empty {
|
||||
display: none;
|
||||
}
|
||||
.error {
|
||||
color: red;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix some CSS on www.ifsc-climbing.org
|
||||
*/
|
||||
section#gkMainbody table.profileHeader thead tr:hover td, section#gkMainbody table.profileData thead tr:hover td {
|
||||
background-color: black;
|
||||
}
|
||||
section#gkMainbody table.DrTable thead, section#gkMainbody table.DrTable tbody{
|
||||
background-color: inherit;
|
||||
background-color: rgba(0,0,0,0.75);
|
||||
}
|
||||
/* do NOT show start-numbers on ifsc-website */
|
||||
section#gkMainbody .Resultlist table.DrTable .start_number {
|
||||
display: none;
|
||||
}
|
||||
/* display wide lists over right _WORLDCOMP. menu, not under it */
|
||||
section#gkMainbody table.DrTable {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
/* hide digitalROCK logo */
|
||||
section#gkMainbody td.profileLogo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* footer */
|
||||
div.footer {
|
||||
display: hidden;
|
||||
color: gray;
|
||||
}
|
122
dr_translations.js
Normal file
122
dr_translations.js
Normal file
|
@ -0,0 +1,122 @@
|
|||
var dr_translations = {
|
||||
after: {
|
||||
de: "nach",
|
||||
},
|
||||
Agegroup: {
|
||||
de: "Jahrgang",
|
||||
},
|
||||
"Athlete #1": {
|
||||
de: "Athlete #1",
|
||||
},
|
||||
"Athlete #2": {
|
||||
de: "Athlete #2",
|
||||
},
|
||||
"Athlete #3": {
|
||||
de: "Athlete #3",
|
||||
},
|
||||
"Athlete asked not to show his name anymore.": {
|
||||
de: "Der Athlet hat gebeten seinen Namen nicht mehr anzuzeigen.",
|
||||
},
|
||||
"As of": {
|
||||
de: "Stand",
|
||||
},
|
||||
Birthyear: {
|
||||
de: "Jahrgang",
|
||||
},
|
||||
Calendar: {
|
||||
de: "Kalender",
|
||||
},
|
||||
City: {
|
||||
de: "Stadt",
|
||||
},
|
||||
Deadline: {
|
||||
de: "Anmeldeschluss",
|
||||
},
|
||||
"Event Website": {
|
||||
de: "Event Webseite",
|
||||
},
|
||||
"Final Points": {
|
||||
de: "Final Punkte",
|
||||
},
|
||||
"For %1 %2 best results per competition and category are counting.": {
|
||||
de: "Für %1 zählen die %2 besten Ergebnisse pro Wettkampf und Kategorie.",
|
||||
},
|
||||
"Info Sheet": {
|
||||
de: "Infoblatt",
|
||||
},
|
||||
Name: {
|
||||
de: "Name",
|
||||
},
|
||||
Nation: {
|
||||
de: "Nation",
|
||||
},
|
||||
"Not counting results are in brackets.": {
|
||||
de: "Nicht zählende Ergebnise sind in Klammern.",
|
||||
},
|
||||
Points: {
|
||||
de: "Punkte",
|
||||
},
|
||||
Qualification: {
|
||||
de: "Qualifikation",
|
||||
},
|
||||
Rank: {
|
||||
de: "Rang",
|
||||
},
|
||||
Regionalzentrum: {
|
||||
de: "Regionalzentrum",
|
||||
},
|
||||
Regulation: {
|
||||
de: "Regulation",
|
||||
},
|
||||
Result: {
|
||||
de: "Ergebnis",
|
||||
},
|
||||
"See also:": {
|
||||
de: "Siehe auch:",
|
||||
},
|
||||
Sektion: {
|
||||
de: "Sektion",
|
||||
},
|
||||
"Select a single category to show ...": {
|
||||
de: "Einzelne Kategorie zum Anzeigen auswählen ...",
|
||||
},
|
||||
"Select another competition ...": {
|
||||
de: "Anderen Wettkampf auswählen ...",
|
||||
},
|
||||
StartNr: {
|
||||
de: "StartNr",
|
||||
},
|
||||
Starters: {
|
||||
de: "Meldeliste",
|
||||
},
|
||||
Startlist: {
|
||||
de: "Startliste",
|
||||
},
|
||||
Sum: {
|
||||
de: "Summe",
|
||||
},
|
||||
Teamname: {
|
||||
de: "Teamname",
|
||||
},
|
||||
"Total of %1 athletes registered in all categories.": {
|
||||
de: "Total of %1 athletes registered in all categories.",
|
||||
},
|
||||
Vorqualifiziert: {
|
||||
de: "Vorqualifiziert",
|
||||
},
|
||||
"calculation of this ranking": {
|
||||
de: "Berechnung dieser Rangliste",
|
||||
},
|
||||
"Complete Results": {
|
||||
de: "komplettes Ergebnis",
|
||||
},
|
||||
"previous heat": {
|
||||
de: "vorherige Runde",
|
||||
},
|
||||
"provisional Result": {
|
||||
de: "provisorisches Ergebnis",
|
||||
},
|
||||
"years, since": {
|
||||
de: "Jahre, seit",
|
||||
},
|
||||
};
|
64
index.html
Normal file
64
index.html
Normal file
|
@ -0,0 +1,64 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="Author" content="Ralf Becker [http://www.digitalROCK.de]" />
|
||||
<script type="text/javascript" src="jquery.min.js"></script>
|
||||
<script type="text/javascript" src="dr_api.js"></script>
|
||||
<script type="text/javascript" src="dr_translations.js"></script>
|
||||
<link type="text/css" rel="StyleSheet" href="dr_list.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="table"></div>
|
||||
<div id="footer" style="display: none; font-size: 90%"></div>
|
||||
<script type="text/javascript">
|
||||
var widget;
|
||||
$(document).ready(function () {
|
||||
var padding = location.search.match(/padding=([^&]+)/);
|
||||
if (padding)
|
||||
jQuery("body").css(
|
||||
"padding",
|
||||
decodeURIComponent(padding[1].replace(/\+/, "%20"))
|
||||
);
|
||||
var font_size = location.search.match(/font_size=((\d+)(pt|px|em)?)/);
|
||||
if (font_size) {
|
||||
var boulder_size =
|
||||
Math.round(0.8 * parseInt(font_size[2])) +
|
||||
(font_size[3] ? font_size[3] : "pt");
|
||||
font_size = font_size[1] + (font_size[3] ? font_size[3] : "pt");
|
||||
jQuery('<style type="text/css"/>')
|
||||
.text(
|
||||
"td, th, .Resultlist h1, .Startlist h1 {font-size: " +
|
||||
font_size +
|
||||
";}" +
|
||||
"div.boulder, div.boulderNone, div.boulderTop, div.boulderBonus {" +
|
||||
"width: " +
|
||||
boulder_size +
|
||||
"; height: " +
|
||||
boulder_size +
|
||||
"; margin-right: 4px;}"
|
||||
)
|
||||
.appendTo("head");
|
||||
}
|
||||
var json_url = "https://www.digitalrock.de/egroupware/ranking/json.php";
|
||||
if (location.pathname.match(/sitemgr.*$/)) {
|
||||
json_url = location.pathname.replace(/sitemgr.*$/, "json.php");
|
||||
}
|
||||
widget = new DrWidget(
|
||||
"table",
|
||||
json_url + (location.search || location.hash.replace(/^#!?/, "?"))
|
||||
);
|
||||
|
||||
setTimeout(function () {
|
||||
window.scrollTo(0, 1);
|
||||
}, 100);
|
||||
|
||||
if (!document.location.href.match(/beamer=1/)) {
|
||||
showFooterByCat("div#footer");
|
||||
}
|
||||
});
|
||||
|
||||
if (document.location.href.match(/beamer=1/)) load_css("beamer.css");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
4
jquery.min.js
vendored
Normal file
4
jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue