Reformat html files
This commit is contained in:
parent
9a208ca108
commit
52f1e77fe1
205 changed files with 11096 additions and 11086 deletions
|
@ -1,261 +1,261 @@
|
|||
{% extends "three-column-content.html" %}
|
||||
{% block three_col_media %}
|
||||
<link rel="stylesheet" href="{{ static('libs/nouislider.min.css') }}">
|
||||
<noscript>
|
||||
<style>
|
||||
#category, #types {
|
||||
visibility: visible;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
{% if not show_contest_mode %}
|
||||
<style>
|
||||
#search-org, #search-author {
|
||||
width: 100%;
|
||||
}
|
||||
#problem-table th {
|
||||
padding: 0;
|
||||
}
|
||||
a.hot-problem-link:hover > .hot-problem-count {
|
||||
visibility: visible;
|
||||
}
|
||||
ul.problem-list {
|
||||
padding: 0 !important;
|
||||
}
|
||||
.volunteer-types {
|
||||
width: 100%;
|
||||
}
|
||||
.point-input {
|
||||
height: 2em;
|
||||
padding-top: 4px;
|
||||
}
|
||||
@media(min-width: 800px) {
|
||||
#content {
|
||||
width: 99%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
@media(max-width: 799px) {
|
||||
#content {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% else %}
|
||||
<style>
|
||||
@media(min-width: 800px) {
|
||||
.middle-content {
|
||||
max-width: 80%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
{% include "actionbar/media-css.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block three_col_js %}
|
||||
{% include "actionbar/media-js.html" %}
|
||||
<script>
|
||||
window.point_start = {{point_start}};
|
||||
window.point_end = {{point_end}};
|
||||
window.point_values = {{point_values|json|safe}};
|
||||
</script>
|
||||
{% compress js %}
|
||||
<script src="{{ static('libs/nouislider.min.js') }}" type="text/javascript"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
var $form = $('form#filter-form');
|
||||
var $search = $('#search');
|
||||
var $category = $('#category');
|
||||
|
||||
function prep_form() {
|
||||
$search.prop('disabled', !$search.val());
|
||||
$category.prop('disabled', !$category.val());
|
||||
}
|
||||
|
||||
function clear_point_interval() {
|
||||
if ($('#search').val() !== "{{ search_query or '' }}") {
|
||||
$('#point-start').remove();
|
||||
$('#point-end').remove();
|
||||
}
|
||||
}
|
||||
|
||||
function clean_submit() {
|
||||
prep_form();
|
||||
clear_point_interval();
|
||||
$form.submit();
|
||||
}
|
||||
|
||||
function form_serialize() {
|
||||
clear_point_interval();
|
||||
return $form.serialize();
|
||||
}
|
||||
|
||||
$category.select2().css({'visibility': 'visible'}).change(clean_submit);
|
||||
$('#types').select2({multiple: 1, placeholder: '{{ _('Filter by type...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#search-org').select2({multiple: 1, placeholder: '{{ _('Groups') }}...'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#search-author').select2({multiple: 1, placeholder: '{{ _('Authors') }}...'})
|
||||
.css({'visibility': 'visible'});
|
||||
|
||||
// This is incredibly nasty to do but it's needed because otherwise the select2 steals the focus
|
||||
$search.keypress(function (e) {
|
||||
if (e.keyCode == 13)
|
||||
$('#go').click();
|
||||
});
|
||||
|
||||
$('#random').click(function (e) {
|
||||
var action = $form.attr('action');
|
||||
$form.attr('action', '{{ url('problem_random') }}').attr('target', '_blank').submit();
|
||||
$form.attr('action', action).attr('target', '');
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('#go').click(clean_submit);
|
||||
|
||||
$('input#full_text, input#hide_solved, input#show_types, input#show_editorial, input#have_editorial, input#show_solved_only').click(function () {
|
||||
prep_form();
|
||||
($('<form>').attr('action', window.location.pathname + '?' + form_serialize())
|
||||
.append($('<input>').attr('type', 'hidden').attr('name', 'csrfmiddlewaretoken')
|
||||
.attr('value', $.cookie('csrftoken')))
|
||||
.attr('method', 'POST').appendTo($('body')).submit());
|
||||
});
|
||||
|
||||
var intFormatter = {
|
||||
to: function (value) {
|
||||
return value;
|
||||
},
|
||||
from: function (value) {
|
||||
return +value;
|
||||
}
|
||||
};
|
||||
var $slider = $('#point-slider');
|
||||
if ($slider.length) {
|
||||
var $start = $('#point-start');
|
||||
var $end = $('#point-end');
|
||||
|
||||
noUiSlider.create($slider[0], {
|
||||
start: [point_start, point_end],
|
||||
connect: true,
|
||||
snap: true,
|
||||
tooltips: [intFormatter, intFormatter],
|
||||
range: point_values
|
||||
}).on('change', function (values) {
|
||||
var start = +values[0], end = +values[1];
|
||||
$start.prop('disabled', start === point_values.min).val(start);
|
||||
$end.prop('disabled', end === point_values.max).val(end);
|
||||
});
|
||||
}
|
||||
{% if feed_type=='volunteer' and request.user.has_perm('judge.suggest_problem_changes') %}
|
||||
$(".view-statement-src").on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).siblings('.statement-src').toggle();
|
||||
});
|
||||
$(".edit-btn").on('click', function() {
|
||||
var pid = $(this).attr('pid');
|
||||
$('#volunteer-types-' + pid).css({'width': '100%'});
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
|
||||
$('#form-' + pid).show();
|
||||
$('#submit-' + pid).show();
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
let isChecking = false;
|
||||
$(".volunteer-submit-btn").on('click', function(e) {
|
||||
var pid = $(this).attr('pid');
|
||||
var pcode = $(this).attr('pcode');
|
||||
var $form = $('#form-' + pid);
|
||||
|
||||
if (!$form[0].checkValidity()) {
|
||||
if (isChecking) return;
|
||||
isChecking = true;
|
||||
// The form won't actually submit;
|
||||
$(this).click();
|
||||
}
|
||||
else {
|
||||
isChecking = false;
|
||||
}
|
||||
if (isChecking) return;
|
||||
|
||||
e.preventDefault();
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#form-' + pid).hide();
|
||||
$('#edit-' + pid).show();
|
||||
$('#thank-' + pid).show();
|
||||
$(this).hide();
|
||||
|
||||
var data = {
|
||||
problem: pcode,
|
||||
types: $('#volunteer-types-' + pid).val(),
|
||||
knowledge_points: $('#knowledge_point-' + pid).val(),
|
||||
thinking_points: $('#thinking_point-' + pid).val(),
|
||||
feedback: $('#feedback-' + pid).val(),
|
||||
};
|
||||
$.post("{{url('volunteer_problem_vote')}}", data)
|
||||
.fail(function() {
|
||||
$('#thank-' + pid).html("{{_('Fail to vote!')}}");
|
||||
})
|
||||
.done(function() {
|
||||
$('#thank-' + pid).html("{{_('Successful vote! Thank you!')}}");
|
||||
});
|
||||
});
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endcompress %}
|
||||
{% if show_contest_mode %}
|
||||
{% compress js %}
|
||||
<script src="{{ static('libs/tablesorter.js') }}" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$.tablesorter.addParser({
|
||||
id: 'solvedsort',
|
||||
is: function (s) {
|
||||
return false;
|
||||
},
|
||||
format: function (s, table, cell, cellIndex) {
|
||||
return $(cell).attr('solved');
|
||||
},
|
||||
type: 'numeric'
|
||||
});
|
||||
|
||||
$('#problem-table').tablesorter({
|
||||
headers: {
|
||||
0: {
|
||||
sorter: 'solvedsort'
|
||||
}
|
||||
},
|
||||
textExtraction: function (node) {
|
||||
node = $(node);
|
||||
var text = node.text().replace(/^\s+|\s+$/g, '');
|
||||
return (node.hasClass('p') ? text.replace(/p$/, '') : text);
|
||||
}
|
||||
});
|
||||
window.register_contest_notification("{{url('contest_clarification_ajax', request.participation.contest.key)}}");
|
||||
|
||||
{% if show_contest_mode %}
|
||||
$('.left-sidebar').hide();
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endcompress %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block left_sidebar %}
|
||||
{% include "problem/left-sidebar.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block right_sidebar %}
|
||||
{% if not show_contest_mode %}
|
||||
<div id="content-right" class="problems right-sidebar">
|
||||
{% include "problem/search-form.html" %}
|
||||
{% include "problem/recent-attempt.html" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% extends "three-column-content.html" %}
|
||||
{% block three_col_media %}
|
||||
<link rel="stylesheet" href="{{ static('libs/nouislider.min.css') }}">
|
||||
<noscript>
|
||||
<style>
|
||||
#category, #types {
|
||||
visibility: visible;
|
||||
}
|
||||
</style>
|
||||
</noscript>
|
||||
{% if not show_contest_mode %}
|
||||
<style>
|
||||
#search-org, #search-author {
|
||||
width: 100%;
|
||||
}
|
||||
#problem-table th {
|
||||
padding: 0;
|
||||
}
|
||||
a.hot-problem-link:hover > .hot-problem-count {
|
||||
visibility: visible;
|
||||
}
|
||||
ul.problem-list {
|
||||
padding: 0 !important;
|
||||
}
|
||||
.volunteer-types {
|
||||
width: 100%;
|
||||
}
|
||||
.point-input {
|
||||
height: 2em;
|
||||
padding-top: 4px;
|
||||
}
|
||||
@media(min-width: 800px) {
|
||||
#content {
|
||||
width: 99%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
@media(max-width: 799px) {
|
||||
#content {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% else %}
|
||||
<style>
|
||||
@media(min-width: 800px) {
|
||||
.middle-content {
|
||||
max-width: 80%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
{% include "actionbar/media-css.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block three_col_js %}
|
||||
{% include "actionbar/media-js.html" %}
|
||||
<script>
|
||||
window.point_start = {{point_start}};
|
||||
window.point_end = {{point_end}};
|
||||
window.point_values = {{point_values|json|safe}};
|
||||
</script>
|
||||
{% compress js %}
|
||||
<script src="{{ static('libs/nouislider.min.js') }}" type="text/javascript"></script>
|
||||
<script>
|
||||
$(function () {
|
||||
var $form = $('form#filter-form');
|
||||
var $search = $('#search');
|
||||
var $category = $('#category');
|
||||
|
||||
function prep_form() {
|
||||
$search.prop('disabled', !$search.val());
|
||||
$category.prop('disabled', !$category.val());
|
||||
}
|
||||
|
||||
function clear_point_interval() {
|
||||
if ($('#search').val() !== "{{ search_query or '' }}") {
|
||||
$('#point-start').remove();
|
||||
$('#point-end').remove();
|
||||
}
|
||||
}
|
||||
|
||||
function clean_submit() {
|
||||
prep_form();
|
||||
clear_point_interval();
|
||||
$form.submit();
|
||||
}
|
||||
|
||||
function form_serialize() {
|
||||
clear_point_interval();
|
||||
return $form.serialize();
|
||||
}
|
||||
|
||||
$category.select2().css({'visibility': 'visible'}).change(clean_submit);
|
||||
$('#types').select2({multiple: 1, placeholder: '{{ _('Filter by type...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#search-org').select2({multiple: 1, placeholder: '{{ _('Groups') }}...'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#search-author').select2({multiple: 1, placeholder: '{{ _('Authors') }}...'})
|
||||
.css({'visibility': 'visible'});
|
||||
|
||||
// This is incredibly nasty to do but it's needed because otherwise the select2 steals the focus
|
||||
$search.keypress(function (e) {
|
||||
if (e.keyCode == 13)
|
||||
$('#go').click();
|
||||
});
|
||||
|
||||
$('#random').click(function (e) {
|
||||
var action = $form.attr('action');
|
||||
$form.attr('action', '{{ url('problem_random') }}').attr('target', '_blank').submit();
|
||||
$form.attr('action', action).attr('target', '');
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
$('#go').click(clean_submit);
|
||||
|
||||
$('input#full_text, input#hide_solved, input#show_types, input#show_editorial, input#have_editorial, input#show_solved_only').click(function () {
|
||||
prep_form();
|
||||
($('<form>').attr('action', window.location.pathname + '?' + form_serialize())
|
||||
.append($('<input>').attr('type', 'hidden').attr('name', 'csrfmiddlewaretoken')
|
||||
.attr('value', $.cookie('csrftoken')))
|
||||
.attr('method', 'POST').appendTo($('body')).submit());
|
||||
});
|
||||
|
||||
var intFormatter = {
|
||||
to: function (value) {
|
||||
return value;
|
||||
},
|
||||
from: function (value) {
|
||||
return +value;
|
||||
}
|
||||
};
|
||||
var $slider = $('#point-slider');
|
||||
if ($slider.length) {
|
||||
var $start = $('#point-start');
|
||||
var $end = $('#point-end');
|
||||
|
||||
noUiSlider.create($slider[0], {
|
||||
start: [point_start, point_end],
|
||||
connect: true,
|
||||
snap: true,
|
||||
tooltips: [intFormatter, intFormatter],
|
||||
range: point_values
|
||||
}).on('change', function (values) {
|
||||
var start = +values[0], end = +values[1];
|
||||
$start.prop('disabled', start === point_values.min).val(start);
|
||||
$end.prop('disabled', end === point_values.max).val(end);
|
||||
});
|
||||
}
|
||||
{% if feed_type=='volunteer' and request.user.has_perm('judge.suggest_problem_changes') %}
|
||||
$(".view-statement-src").on('click', function(e) {
|
||||
e.preventDefault();
|
||||
$(this).siblings('.statement-src').toggle();
|
||||
});
|
||||
$(".edit-btn").on('click', function() {
|
||||
var pid = $(this).attr('pid');
|
||||
$('#volunteer-types-' + pid).css({'width': '100%'});
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
|
||||
$('#form-' + pid).show();
|
||||
$('#submit-' + pid).show();
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
let isChecking = false;
|
||||
$(".volunteer-submit-btn").on('click', function(e) {
|
||||
var pid = $(this).attr('pid');
|
||||
var pcode = $(this).attr('pcode');
|
||||
var $form = $('#form-' + pid);
|
||||
|
||||
if (!$form[0].checkValidity()) {
|
||||
if (isChecking) return;
|
||||
isChecking = true;
|
||||
// The form won't actually submit;
|
||||
$(this).click();
|
||||
}
|
||||
else {
|
||||
isChecking = false;
|
||||
}
|
||||
if (isChecking) return;
|
||||
|
||||
e.preventDefault();
|
||||
$('#volunteer-types-' + pid).select2({multiple: 1, placeholder: '{{ _('Add types...') }}'})
|
||||
.css({'visibility': 'visible'});
|
||||
$('#form-' + pid).hide();
|
||||
$('#edit-' + pid).show();
|
||||
$('#thank-' + pid).show();
|
||||
$(this).hide();
|
||||
|
||||
var data = {
|
||||
problem: pcode,
|
||||
types: $('#volunteer-types-' + pid).val(),
|
||||
knowledge_points: $('#knowledge_point-' + pid).val(),
|
||||
thinking_points: $('#thinking_point-' + pid).val(),
|
||||
feedback: $('#feedback-' + pid).val(),
|
||||
};
|
||||
$.post("{{url('volunteer_problem_vote')}}", data)
|
||||
.fail(function() {
|
||||
$('#thank-' + pid).html("{{_('Fail to vote!')}}");
|
||||
})
|
||||
.done(function() {
|
||||
$('#thank-' + pid).html("{{_('Successful vote! Thank you!')}}");
|
||||
});
|
||||
});
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endcompress %}
|
||||
{% if show_contest_mode %}
|
||||
{% compress js %}
|
||||
<script src="{{ static('libs/tablesorter.js') }}" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$.tablesorter.addParser({
|
||||
id: 'solvedsort',
|
||||
is: function (s) {
|
||||
return false;
|
||||
},
|
||||
format: function (s, table, cell, cellIndex) {
|
||||
return $(cell).attr('solved');
|
||||
},
|
||||
type: 'numeric'
|
||||
});
|
||||
|
||||
$('#problem-table').tablesorter({
|
||||
headers: {
|
||||
0: {
|
||||
sorter: 'solvedsort'
|
||||
}
|
||||
},
|
||||
textExtraction: function (node) {
|
||||
node = $(node);
|
||||
var text = node.text().replace(/^\s+|\s+$/g, '');
|
||||
return (node.hasClass('p') ? text.replace(/p$/, '') : text);
|
||||
}
|
||||
});
|
||||
window.register_contest_notification("{{url('contest_clarification_ajax', request.participation.contest.key)}}");
|
||||
|
||||
{% if show_contest_mode %}
|
||||
$('.left-sidebar').hide();
|
||||
{% endif %}
|
||||
});
|
||||
</script>
|
||||
{% endcompress %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block left_sidebar %}
|
||||
{% include "problem/left-sidebar.html" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block right_sidebar %}
|
||||
{% if not show_contest_mode %}
|
||||
<div id="content-right" class="problems right-sidebar">
|
||||
{% include "problem/search-form.html" %}
|
||||
{% include "problem/recent-attempt.html" %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
Loading…
Add table
Add a link
Reference in a new issue