feat(choix pondérés): averti en cas de dépassement de quota

pull/52/head
François Poulain 2021-06-01 10:28:48 +02:00
Parent 77d63c26b0
révision 39ebb439b4
3 fichiers modifiés avec 23 ajouts et 2 suppressions

Voir le fichier

@ -12,6 +12,8 @@ $(() => {
const wrapper = $(elem);
const remaining = wrapper.find('.ponderatedwidget--remaining');
const available = wrapper.find('.ponderatedwidget--available');
const warning = wrapper.find('.ponderatedwidget--warning');
const error = wrapper.parent().find('.invalid-feedback:contains(mandats disponibles)');
const inputs = wrapper.find('input');
$(inputs).on('change', () => {
const availableInt = Number(available[0].textContent);
@ -21,6 +23,11 @@ $(() => {
}, 0);
if (availableInt - affected >= 0) {
remaining[0].textContent = availableInt - affected;
$(error).addClass('d-none');
$(warning).addClass('d-none');
} else {
$(error).removeClass('d-none');
$(warning).removeClass('d-none');
}
});
});

Voir le fichier

@ -4,6 +4,17 @@
display: block;
}
.ponderatedwidget input {
.has-errors > .ponderatedwidget > .ponderatedwidget--warning {
display: none;
}
.ponderatedwidget {
input {
width: 7em;
}
.ponderatedwidget--warning {
margin-top: .25rem;
font-size: 80%;
color: #dc3545;
}
}

Voir le fichier

@ -7,4 +7,7 @@
<table>
{% include 'django/forms/widgets/multiwidget.html' %}
</table>
<div class="ponderatedwidget--warning d-none">
Vous ne pouvez pas affecter plus de choix que le nombre de mandats disponibles.
</div>
</div>