FIX: Rewrite event form hide/show logic.

Should be much more readable now. Closes #421
This commit is contained in:
2021-03-31 18:46:04 +01:00
parent 8cfa4bd79d
commit 780d05e27c

View File

@@ -27,18 +27,18 @@
const matches = window.matchMedia("(prefers-reduced-motion: reduce)").matches || window.matchMedia("(update: slow)").matches; const matches = window.matchMedia("(prefers-reduced-motion: reduce)").matches || window.matchMedia("(update: slow)").matches;
$(document).ready(function () { $(document).ready(function () {
dur = matches ? 0 : 500; dur = matches ? 0 : 500;
{% if not object.pk and not form.errors %} {% if object.pk %}
$('.form-hws').slideUp(dur, function () { // Editing
$('.form-is_rig').slideUp(dur); {% if not object.is_rig %}
});
{% elif not object.pk and form.errors %}
if ($('#{{form.is_rig.auto_id}}').attr('checked') !== 'checked') {
$('.form-is_rig').hide(); $('.form-is_rig').hide();
} {% endif %}
{% endif %} //Creation
{% if not object.pk %} {% else %}
//Initial hide
$('.form-hws').slideUp(dur);
//Button handling
$('#is_rig-selector button').on('click', function () { $('#is_rig-selector button').on('click', function () {
$('.form-non_rig').slideDown(dur); $('.form-non_rig').slideDown(dur); //Non rig stuff also needed for rig, so always slide down
if ($(this).data('is_rig') === 1) { if ($(this).data('is_rig') === 1) {
$('#{{form.is_rig.auto_id}}').prop('checked', true); $('#{{form.is_rig.auto_id}}').prop('checked', true);
if ($('.form-non_rig').is(':hidden')) { if ($('.form-non_rig').is(':hidden')) {
@@ -48,7 +48,6 @@
} }
$('.form-hws, .form-hws .form-is_rig').css('overflow', 'visible'); $('.form-hws, .form-hws .form-is_rig').css('overflow', 'visible');
} else { } else {
$('#{{form.is_rig.auto_id}}').prop('checked', false); $('#{{form.is_rig.auto_id}}').prop('checked', false);
$('.form-is_rig').slideUp(dur); $('.form-is_rig').slideUp(dur);
} }
@@ -62,13 +61,6 @@
$('[data-toggle="tooltip"]').tooltip(); $('[data-toggle="tooltip"]').tooltip();
}) })
</script> </script>
<noscript>
<style>
.form-hws {
display: inherit !important;
}
</style>
</noscript>
{% endblock %} {% endblock %}
{% block content %} {% block content %}