From 9fbcfa622bd8f9bf1420be8e26f58a52fe4740e1 Mon Sep 17 00:00:00 2001 From: Tony Date: Thu, 30 Jun 2022 12:40:49 -0500 Subject: [PATCH] add yellow color for duplicate positions --- teamsnap/lineup/static/lineup/js/lineup.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/teamsnap/lineup/static/lineup/js/lineup.js b/teamsnap/lineup/static/lineup/js/lineup.js index 9687854..df4ad98 100644 --- a/teamsnap/lineup/static/lineup/js/lineup.js +++ b/teamsnap/lineup/static/lineup/js/lineup.js @@ -6,6 +6,8 @@ function positionSelectChanged(elem) { } function colorPositions() { + const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0); + for (bcLineup of document.getElementsByClassName("benchcoach-lineup")) { var player_rows = bcLineup.querySelectorAll('tr'); var label_value_array = [] @@ -17,12 +19,27 @@ function colorPositions() { } ) bcLineup.querySelectorAll('[id^="position-status"]').forEach(function (position_status, index) { - if (label_value_array.includes(position_status.innerHTML)) { + + if (countOccurrences(label_value_array, position_status.innerHTML) == 1) { if (position_status.classList.contains("text-danger")) { position_status.classList.remove('text-danger') } + if (position_status.classList.contains("text-warning")) { + position_status.classList.remove('text-warning') + } position_status.classList.add('text-success') - } else { + } else if (countOccurrences(label_value_array, position_status.innerHTML) > 1) { + if (position_status.classList.contains("text-danger")) { + position_status.classList.remove('text-danger') + } + if (position_status.classList.contains("text-success")) { + position_status.classList.remove('text-success') + } + position_status.classList.add('text-warning') + } else if (countOccurrences(label_value_array, position_status.innerHTML) == 0) { + if (position_status.classList.contains("text-warning")) { + position_status.classList.remove('text-warning') + } if (position_status.classList.contains("text-success")) { position_status.classList.remove('text-success') }