reimplement eventlineup slots, eventsheet refinements

fixed the loop in eventlineup slots so they will show duplicate eventlineupentries if they exist

refined some styling in eventsheet
This commit is contained in:
2024-05-06 16:45:56 -05:00
parent c4c0d0fb7d
commit e4b981d676
8 changed files with 69 additions and 44 deletions

View File

@@ -91,10 +91,29 @@ exports.filterNonPlayers = (members) => {
exports.joinMemberEmailAddresses = (members) => {
return members.map(m=>m.emailAddresses.join(',')).join(',')
}
exports.loadSlots = (members, event_lineup, event_lineup_entries, event) =>{
exports.loadSlots = (options) =>{
var s = ""
members.forEach(member => {
s+=hb.render("eventlineup/partials/slot", {member, event})
});
console.log('here')
const {members, event_lineup, event_lineup_entries, event, availabilities} = options.data.root
event_lineup_entries.forEach(eventLineupEntry =>{
const availability = availabilities.find(a=>a.memberId==eventLineupEntry.memberId)
const member = members.find(m=>m.id==eventLineupEntry.memberId)
const {positionFlags} = parsePositionLabel(eventLineupEntry.label)
const initial_slotset = `lineup-${positionFlags.has('PO') ? 'positiononly' : 'starting'}-${event.id}`
s+=options.fn({eventLineupEntry, availability, member, event, initial_slotset})
})
const players_without_lineup_entry = members.filter(
member=>!event_lineup_entries.map(lue=>lue.memberId).includes(member.id) && !member.isNonPlayer
)
players_without_lineup_entry.forEach(member =>{
const availability = availabilities.find(a=>a.memberId==member.id)
let initial_slotset
if (availability.statusCode == 0 || availability.statusCode == null) {
initial_slotset =`lineup-out-${event.id}`
} else {
initial_slotset =`lineup-bench-${event.id}`
}
s+=options.fn({availability, member, event, initial_slotset})
})
return s
}