diff --git a/website/public/scout/rpts/index.html b/website/public/scout/rpts/index.html index b00a0709..db8469fa 100644 --- a/website/public/scout/rpts/index.html +++ b/website/public/scout/rpts/index.html @@ -21,7 +21,7 @@ Team

Scout Matches

Sign Up For Matches - Submit Scouting Reports + Submit Scouting Reports Tournament Stats
@@ -33,10 +33,10 @@
Scouting For:
-

Sign Up For Matches

Submit a Report:

+
- +
diff --git a/website/public/scout/rpts/scripts.js b/website/public/scout/rpts/scripts.js index fd623b07..057724e1 100644 --- a/website/public/scout/rpts/scripts.js +++ b/website/public/scout/rpts/scripts.js @@ -48,10 +48,127 @@ window.onload = function() { document.getElementById('tns').innerHTML += "" } } else {} + }).then(function() { + changeTeam(document.getElementById('tns').value) }) }); } +function changeTeam(teamNum) { + //remove all event listeners for element by cloning it + var old_element = document.getElementById("mSelect"); + var new_element = old_element.cloneNode(true); + old_element.parentNode.replaceChild(new_element, old_element); + //ok back to normal stuff + var user = firebase.auth().currentUser; + ti = firebase.firestore().collection('teamData').doc("team-" + teamNum); + currentComp = null; + ti.get().then(function(doc) { + if (doc.exists) { + info = doc.data(); + currentComp = info['currentCompetition']; + } else { + alert("Something's wrong with firebase."); + throw ("Something's wrong with firebase."); + } + }).then(function() { + if (currentComp != null) { + comps = firebase.firestore().collection('matchSignupsIndividual').doc(user.uid).collection("team-" + teamNum).doc(currentComp); + comps.get().then(function(doc) { + if (doc.exists) { + var matches = doc.data(); + document.getElementById('mSelect').innerHTML = ""; + for (var i = 0; i < Object.keys(matches).length; i++) { + name = Object.keys(matches)[i]; + series = matches[Object.keys(matches)[i]]['series']; + completed = matches[Object.keys(matches)[i]]['completed']; + if (!completed) { + document.getElementById('mSelect').innerHTML += "" + } + } + document.getElementById('mSelect').addEventListener("change", function() { + updateForm(document.getElementById('mSelect').value, teamNum, currentComp); + }); + } + }); + } + }); +} + +function lastWord(words) { + var n = words.split(" "); + return n[n.length - 1]; +} +function firstWord(words) { + var n = words.split(" "); + return n[0]; +} + +function updateForm(locString, teamNum, competition) { + seriesList = []; + document.getElementById('FormData').innerHTML = "" + loc = firebase.firestore().collection('appBuliding').document("team-" + teamNum).collection('competitions').document(competition).collection(lastWord(locString)); + loc.get().then(function(docs) { + docs.forEach(function(doc) { + seriesList.push(doc.data()); + }); + seriesList.sort(function(a, b) { + return a.order - b.order; + }) + for (var i = 0; i < seriesList.length; i++) { + document.getElementById('FormData').innerHTML += "

" + seriesList[i].id + "

"; + labels = Object.keys(seriesList[i].data()); + var index = labels.indexOf('order'); + if (index > -1) { + labels.splice(index, 1); + } + var questions = []; + for (var j = 0; j < labels.length; j++) { + questions.push([labels[j], seriesList[i].data()[labels[j]]]) + } + questions.sort(function(a, b) { + return a[1].order - b[1].order; + }) + for (var j = 0; j < questions.length; j++) { + document.getElementById('FormData').innerHTML += "
"; + document.getElementById('FormData').innerHTML += questions[j][1]['title']; + if (questions[j][1]['type'] = 'shortText') { + document.getElementById('FormData').innerHTML += ""; + } else if (questions[j][1]['type'] = 'longText') { + document.getElementById('FormData').innerHTML += ""; + } else if (questions[j][1]['type'] = 'numerical') { + document.getElementById('FormData').innerHTML += "" + (questions[j][1]['default']).toString() + ""; + } else if (questions[j][1]['type'] = 'range') { + document.getElementById('FormData').innerHTML += "  " + questions[j][1]['min']['text'] + "  "; + document.getElementById('FormData').innerHTML += ""; + document.getElementById('FormData').innerHTML += "  " + questions[j][1]['max']['text']; + } else if (questions[j][1]['type'] = 'segment') { + document.getElementById('FormData').innerHTML += "
" + for (var k = 0; k < questions[j][1]['elements'].length; k++) { + //// TODO: replace with real buttons for good styling + document.getElementById('FormData').innerHTML += questions[j][1]['elements'][k]; + document.getElementById('FormData').innerHTML += "" + } + document.getElementById('FormData').innerHTML += "
" + } + document.getElementById('FormData').innerHTML += "
"; + } + } + document.getElementById('FormData').innerHTML += "" + }); +} + +function dec(id) { + document.getElementById(id).innerHTML = (parseInt(document.getElementById(id).innerHTML) - 1)).toString() +} + +function inc(id) { + document.getElementById(id).innerHTML = (parseInt(document.getElementById(id).innerHTML) + 1)).toString() +} + function subRes() { firebase.firestore().collection('teamData').doc('team-' + document.getElementById('tns').value).get().then(function(doc) { if (doc.exists) { @@ -66,7 +183,7 @@ function subRes() { push['teamDBRef'] = 'team-' + document.getElementById('tsn').value push['speed'] = document.getElementById('speed').value push['sandstormCross'] = document.getElementById('SCross').value - push['strategy']= document.getElementById('strat').value + push['strategy'] = document.getElementById('strat').value push['contrubution'] = document.getElementById('contrib').value push['startingHatch'] = document.getElementById('habs').value push['size'] = document.getElementById('egs').value @@ -95,7 +212,7 @@ function subRes() { push['teamDBRef'] = 'team-' + document.getElementById('tsn').value push['speed'] = document.getElementById('speed').value push['sandstormCross'] = document.getElementById('SCross').value - push['strategy']= document.getElementById('strat').value + push['strategy'] = document.getElementById('strat').value push['contrubution'] = document.getElementById('contrib').value push['startingHatch'] = document.getElementById('habs').value push['size'] = document.getElementById('egs').value @@ -120,7 +237,9 @@ function subRes() { ).then(function() { alert('Submitted!') - setTimeout(function(){ window.location.href = '../scout'; }, 500); + setTimeout(function() { + window.location.href = '../scout'; + }, 500); }) } diff --git a/website/public/scout/signUps/scripts.js b/website/public/scout/signUps/scripts.js index 5dfcd2a6..aae6af12 100644 --- a/website/public/scout/signUps/scripts.js +++ b/website/public/scout/signUps/scripts.js @@ -150,15 +150,19 @@ function changeTeam(teamNum) { }); }); } -function addMatch(matchNum,seriesNum,position) { + +function addMatch(matchNum, seriesNum, position) { + var success = false; + var teamNum = document.getElementById('tns').value var user = firebase.auth().currentUser; - var name="anon" + var name = "anon" if (user.displayName != null) { name = user.displayName; } else if (user.email != null) { name = user.email; } else if (user.phoneNumber != null) { - name= user.phoneNumber; + name = user.phoneNumber; + } ti = firebase.firestore().collection('teamData').doc("team-" + teamNum); currentComp = null; ti.get().then(function(doc) { @@ -171,22 +175,41 @@ function addMatch(matchNum,seriesNum,position) { } }).then(function() { cci = firebase.firestore().collection('matchSignupsTeam').doc("team-" + teamNum).collection('competitions').doc(currentComp); - cci.get().then(function (doc) { + cci.get().then(function(doc) { if (doc.exists) { - info=doc.data(); - match=info["match-"+matchNum.toString()]; - pos=match[position]; - occ=pos["series-"+seriesNum.toString()]; + info = doc.data(); + match = info["match-" + matchNum.toString()]; + pos = match[position]; + occ = pos["series-" + seriesNum.toString()]; if (occ == null) { - info["match-"+matchNum.toString()][position]["series-"+seriesNum.toString()]=name; + info["match-" + matchNum.toString()][position]["series-" + seriesNum.toString()] = name; firebase.firestore().collection('matchSignupsTeam').doc("team-" + teamNum).collection('competitions').doc(currentComp).set(info) - alert('Added!') - setTimeout(function(){ window.location.href = '../signUps'; }, 500); - }else{ - alert(occ+"has added that match first.") - setTimeout(function(){ window.location.href = '../signUps'; }, 500); + success = true; + } else { + alert(occ + "has added that match first.") + setTimeout(function() { + window.location.href = '../signUps'; + }, 500); } } + }).then(function() { + if (success) { + ti = firebase.firestore().collection('matchSignupsIndividual').doc(user.uid).collection("team-" + teamNum).doc(currentComp); + push = { + "match-" + matchNum.toString()+" "+position: { + 'completed': false, + series: seriesNum.toString() + } + } + cityRef.set(push, { + merge: true + }), then(function() { + alert('Added!') + setTimeout(function() { + window.location.href = '../signUps'; + }, 500); + }); + } }); }); }