Cloned DMOJ
This commit is contained in:
parent
f623974b58
commit
49dc9ff10c
513 changed files with 132349 additions and 39 deletions
259
templates/contest/ranking.html
Normal file
259
templates/contest/ranking.html
Normal file
|
@ -0,0 +1,259 @@
|
|||
{% extends "user/base-users.html" %}
|
||||
|
||||
{% block title_ruler %}{% endblock %}
|
||||
|
||||
{% block title_row %}
|
||||
{% set title = contest.name %}
|
||||
{% include "contest/contest-tabs.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block users_media %}
|
||||
<style>
|
||||
#content-left {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
#users-table .username {
|
||||
min-width: 20em;
|
||||
}
|
||||
|
||||
#users-table td {
|
||||
height: 2.5em;
|
||||
}
|
||||
|
||||
#users-table a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.userinfo a, .user-name a, .user-name form {
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
#users-table th a, #users-table th a:link, #users-table th a:visited {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#users-table th a:hover {
|
||||
color: #0F0;
|
||||
}
|
||||
|
||||
#users-table td a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.rank {
|
||||
min-width: 2.5em
|
||||
}
|
||||
|
||||
.points {
|
||||
min-width: 4em;
|
||||
}
|
||||
|
||||
.disqualified {
|
||||
background-color: #ffa8a8 !important;
|
||||
}
|
||||
|
||||
.full-score, .full-score a {
|
||||
font-weight: bold;
|
||||
color: green;
|
||||
}
|
||||
|
||||
.partial-score, .partial-score a {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.failed-score, .failed-score a {
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.pretest-full-score, .pretest-full-score a {
|
||||
font-weight: bold;
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.pretest-partial-score, .pretest-partial-score a {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.pretest-failed-score, .pretest-failed-score a {
|
||||
font-weight: bold;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.user-points {
|
||||
font-weight: bold;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.solving-time {
|
||||
color: gray;
|
||||
font-weight: normal;
|
||||
font-size: 0.75em;
|
||||
padding-bottom: -0.75em;
|
||||
}
|
||||
|
||||
.point-denominator {
|
||||
border-top: 1px solid gray;
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
.start-time {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.user-name {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.organization-column {
|
||||
display: none;
|
||||
text-align: left !important;
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
.organization-column a {
|
||||
color: gray !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
|
||||
{% if has_rating %}
|
||||
<style>#users-table .rate-box {
|
||||
font-size: 0.85em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#users-table td:nth-child(1) .rating {
|
||||
margin-left: 1.25em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#users-table td:nth-child(2) a {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
|
||||
<style>
|
||||
.select2-selection__arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.select2-selection__rendered {
|
||||
cursor: text;
|
||||
overflow: initial !important
|
||||
}
|
||||
|
||||
.select2-results__option--highlighted {
|
||||
background-color: #DEDEDE !important;
|
||||
}
|
||||
|
||||
.select2-results__option {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#search-contest, #search-contest + .select2 {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
#search-contest {
|
||||
width: 200px;
|
||||
height: 2.3em;
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block users_js_media %}
|
||||
{% if is_organizer %}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('a.disqualify-participation').click(function (e) {
|
||||
e.preventDefault();
|
||||
if (e.ctrlKey || e.metaKey || confirm("{{ _('Are you sure you want to disqualify this participation?') }}"))
|
||||
$(this).closest('form').submit();
|
||||
})
|
||||
$('a.un-disqualify-participation').click(function (e) {
|
||||
e.preventDefault();
|
||||
if (e.ctrlKey || e.metaKey || confirm("{{ _('Are you sure you want to un-disqualify this participation?') }}"))
|
||||
$(this).closest('form').submit();
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% if perms.judge.change_contestparticipation %}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('td.user').find('a.user-name').click(function (e) {
|
||||
var data = $(this).siblings('.edit-participation');
|
||||
if (e.altKey && data.length) {
|
||||
window.open(data.attr('data-link'), '_blank');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% if not contest.ended %}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
window.install_tooltips = function () {
|
||||
$('td.user').find('a.user-name').each(function () {
|
||||
var link = $(this);
|
||||
link.mouseenter(function (e) {
|
||||
var start_time = link.siblings('.start-time').text();
|
||||
link.addClass('tooltipped tooltipped-e').attr('aria-label', start_time);
|
||||
}).mouseleave(function (e) {
|
||||
link.removeClass('tooltipped tooltipped-e').removeAttr('aria-label');
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
install_tooltips();
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var url = '{{ url('contest_participation', contest.key, '__username__') }}';
|
||||
var placeholder = $('#search-contest').replaceWith($('<select>').attr({
|
||||
id: 'search-contest'
|
||||
})).attr('placeholder');
|
||||
|
||||
$('#search-contest').select2({
|
||||
placeholder: placeholder,
|
||||
ajax: {
|
||||
url: '{{ url('contest_user_search_select2_ajax', contest.key) }}'
|
||||
},
|
||||
minimumInputLength: 1,
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
},
|
||||
templateResult: function (data, container) {
|
||||
return ('<img class="user-search-image" src="' + data.gravatar_url + '" width="24" height="24">' +
|
||||
'<span class="' + data.display_rank + ' user-search-name">' + data.text + '</span>');
|
||||
}
|
||||
}).on('change', function () {
|
||||
window.location.href = url.replace('__username__', $(this).val());
|
||||
});
|
||||
|
||||
$('#show-organizations-checkbox').click(function () {
|
||||
$('.organization-column').toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% include "contest/media-js.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block users_table %}
|
||||
<div style="margin-bottom: 0.5em">
|
||||
{% if tab == 'participation' %}
|
||||
{% if contest.start_time <= now or perms.judge.see_private_contest %}
|
||||
<input id="search-contest" type="text" placeholder="{{ _('View user participation') }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<input id="show-organizations-checkbox" type="checkbox" style="vertical-align: bottom">
|
||||
<label for="show-organizations-checkbox" style="vertical-align: bottom">{{ _('Show organizations') }}</label>
|
||||
</div>
|
||||
{% include "contest/ranking-table.html" %}
|
||||
{% endblock %}
|
Loading…
Add table
Add a link
Reference in a new issue