support for flags in eventLineup edit

This commit is contained in:
2024-03-05 09:15:18 -06:00
parent 2f2f33ce74
commit 35d6eba599
5 changed files with 49 additions and 16 deletions

View File

@@ -8,7 +8,7 @@ function onPositionSelectChange(elem) {
}
});
colorPositions();
refreshLineupOrder();
refreshLineup();
}
function togglePopup(el) {
@@ -39,7 +39,7 @@ function colorPositions() {
}
}
function refreshLineupOrder() {
function refreshLineup() {
Array.from(document.querySelectorAll("[id^=event-lineup]")).forEach((bcLineup) => {
Array.from(
bcLineup.querySelectorAll(
@@ -55,6 +55,20 @@ function refreshLineupOrder() {
} else {
slot.querySelector("input[name*=label]").value = null;
}
if (slot.closest('.position-only')){
const flags = new Set(slot.querySelector("input[name*=flags]").value.split(',').map(s=>s.trim()))
flags.add('PO');flags.delete('')
slot.querySelector("input[name*=flags]").value = Array.from(flags).join(",");
}
else {
const flags = new Set(slot.querySelector("input[name*=flags]").value.split(',').map(s=>s.trim()))
flags.delete('PO');flags.delete('')
slot.querySelector("input[name*=flags]").value = Array.from(flags).join(",");
}
if (slot.closest('.bench')){
slot.querySelector("input[name*=sequence]").value = '';
slot.querySelector("input[name*=label]").value = '';
}
});
});
}
@@ -74,13 +88,13 @@ for (bcLineup of document.querySelectorAll("[id^=event-lineup]")) {
// Add to Lineup
var itemEl = evt.item; // dragged HTMLElement
refreshLineupOrder();
refreshLineup();
},
onUpdate: function (/**Event*/ evt) {
console.log("update to lineup");
// var itemEl = evt.item; // dragged HTMLElement
// refresh_lineup_order(itemEl);
refreshLineupOrder();
refreshLineup();
},
};
new Sortable.create(bcLineup.querySelector("[id^=lineup-starting] .slot-set"), options);
@@ -91,13 +105,16 @@ for (bcLineup of document.querySelectorAll("[id^=event-lineup]")) {
}
for (lineup_slot of document.querySelectorAll("[id^=lineup-out] .lineup-slot")) {
console.log(lineup_slot)
const cells = lineup_slot.querySelectorAll('.Panel-cell:has(.sequence), .Panel-cell:has(.drag-handle), .Panel-cell:has(.position-select-box) ')
Array.from(cells).forEach(cell=>{
cell.classList.add('u-hidden')
})
}
function refreshFlags(){
}
function copyEmailTable(itemEl, subject, recipients) {
// Create container for the HTML
// [1]