change player table on position selection

This commit is contained in:
2021-12-30 12:40:24 -06:00
parent 590069c3b1
commit aa4bf8f083
2 changed files with 38 additions and 1 deletions

View File

@@ -12,7 +12,7 @@ class PositioningForm(forms.ModelForm):
class Meta: class Meta:
model = Positioning model = Positioning
widgets = { widgets = {
'position': forms.Select(attrs={'class': 'form-control form-control-sm'}) 'position': forms.Select(attrs={'class': 'form-control form-control-sm', 'onchange':'positionSelectChanged(this)'})
} }
exclude = () exclude = ()

View File

@@ -108,6 +108,43 @@
</div> </div>
</div> </div>
<script src="{% static 'js/Sortable.js' %}"></script> <script src="{% static 'js/Sortable.js' %}"></script>
<script id="form changes">
function positionSelectChanged(elem) {
let row = elem.parentElement.parentElement
let original_table = elem.parentElement.parentElement.parentElement
let lineup_table = document.getElementById('lineup')
let bench_table = document.getElementById('bench')
let dhd_table = document.getElementById('dhd')
let player_order = row.querySelector('[id^="player-order"]')
let player_available = row.querySelector('[id^="player-availability"]')
console.dir(original_table)
console.dir(bench_table)
console.dir(original_table == bench_table)
if (elem.value == "P" && original_table == bench_table ) {
dhd_table.appendChild(row)
player_order.classList.remove('d-none')
player_available.classList.add('d-none')
refresh_lineup_order()
}
else if (elem.value && original_table == dhd_table ) {
dhd_table.appendChild(row)
player_order.classList.remove('d-none')
player_available.classList.add('d-none')
refresh_lineup_order()
}
else if (elem.value) {
lineup_table.appendChild(row)
player_order.classList.remove('d-none')
player_available.classList.add('d-none')
refresh_lineup_order()
}
else {
bench_table.prepend(row)
player_order.classList.add('d-none')
player_available.classList.remove('d-none')
}
}
</script>
<script id="sortable"> <script id="sortable">
function refresh_lineup_order (){ function refresh_lineup_order (){
var player_rows = document.getElementById('lineup').querySelectorAll('tr') var player_rows = document.getElementById('lineup').querySelectorAll('tr')