Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 1 | <div class="header" #header> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 2 | <h2>{{section}}</h2> |
| 3 | </div> |
| 4 | |
| 5 | <ng-container [ngSwitch]="section"> |
Philipp Schrader | 93ade04 | 2022-03-05 17:16:10 -0800 | [diff] [blame] | 6 | <div *ngSwitchCase="'Team Selection'" id="team_selection" class="container-fluid"> |
| 7 | <div class="row"> |
| 8 | <label for="match_number">Match Number</label> |
| 9 | <input [(ngModel)]="matchNumber" type="number" id="match_number" min="1" max="999"> |
| 10 | </div> |
| 11 | <div class="row"> |
| 12 | <label for="team_number">Team Number</label> |
| 13 | <input [(ngModel)]="teamNumber" type="number" id="team_number" min="1" max="9999"> |
| 14 | </div> |
Alex Perry | 93f57e6 | 2022-03-12 13:14:03 -0800 | [diff] [blame] | 15 | <div class="buttons"> |
| 16 | <!-- hack to right align the next button --> |
| 17 | <div></div> |
| 18 | <button class="btn btn-primary" (click)="nextSection()">Next</button> |
Philipp Schrader | 93ade04 | 2022-03-05 17:16:10 -0800 | [diff] [blame] | 19 | </div> |
| 20 | </div> |
| 21 | |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 22 | <div *ngSwitchCase="'Auto'" id="auto" class="container-fluid"> |
| 23 | <div class="row"> |
Philipp Schrader | e7c252d | 2022-03-17 21:13:47 -0700 | [diff] [blame] | 24 | <img src="/pictures/field/quadrants.jpeg" alt="Quadrants Image"> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 25 | <form> |
Philipp Schrader | e7c252d | 2022-03-17 21:13:47 -0700 | [diff] [blame] | 26 | <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant1" [value]="1"> |
| 27 | <label for="quadrant1">Quadrant 1</label> |
| 28 | <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant2" [value]="2"> |
| 29 | <label for="quadrant2">Quadrant 2</label><br> |
| 30 | <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant3" [value]="3"> |
| 31 | <label for="quadrant3">Quadrant 3</label> |
| 32 | <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant4" [value]="4"> |
| 33 | <label for="quadrant4">Quadrant 4</label> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 34 | </form> |
| 35 | </div> |
Philipp Schrader | 0a87303 | 2022-03-17 21:22:41 -0700 | [diff] [blame] | 36 | <div class="row"> |
| 37 | <img src="/pictures/field/balls.jpeg" alt="Image"> |
| 38 | <form> |
| 39 | <!--Choice for each ball location--> |
| 40 | <input [(ngModel)]=ball1 type="checkbox" name="1ball" value="1" id="ball-1"><label for="ball-1">Ball 1</label> |
| 41 | <input [(ngModel)]=ball2 type="checkbox" name="2ball" value="2" id="ball-2"><label for="ball-2">Ball 2</label><br> |
| 42 | <input [(ngModel)]=ball3 type="checkbox" name="3ball" value="3" id="ball-3"><label for="ball-3">Ball 3</label> |
| 43 | <input [(ngModel)]=ball4 type="checkbox" name="4ball" value="4" id="ball-4"><label for="ball-4">Ball 4</label><br> |
| 44 | <input [(ngModel)]=ball5 type="checkbox" name="5ball" value="5" id="ball-5"><label for="ball-5">Ball 5</label> |
| 45 | </form> |
| 46 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 47 | <div class="row justify-content-center"> |
Alex Perry | f82524c | 2022-03-09 20:04:47 -0800 | [diff] [blame] | 48 | <frc971-counter-button class="col-4" [(value)]="autoUpperShotsMade">Upper</frc971-counter-button> |
| 49 | <frc971-counter-button class="col-4" [(value)]="autoLowerShotsMade">Lower</frc971-counter-button> |
| 50 | <frc971-counter-button class="col-4" [(value)]="autoShotsMissed">Missed</frc971-counter-button> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 51 | </div> |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 52 | <div class="buttons"> |
Alex Perry | 93f57e6 | 2022-03-12 13:14:03 -0800 | [diff] [blame] | 53 | <button class="btn btn-primary" (click)="prevSection()">Back</button> |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 54 | <button class="btn btn-primary" (click)="nextSection()">Next</button> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 55 | </div> |
| 56 | </div> |
| 57 | |
| 58 | <div *ngSwitchCase="'TeleOp'" id="teleop" class="container-fluid"> |
| 59 | <div class="row justify-content-center"> |
Alex Perry | f82524c | 2022-03-09 20:04:47 -0800 | [diff] [blame] | 60 | <frc971-counter-button class="col-4" [(value)]="teleUpperShotsMade">Upper</frc971-counter-button> |
| 61 | <frc971-counter-button class="col-4" [(value)]="teleLowerShotsMade">Lower</frc971-counter-button> |
| 62 | <frc971-counter-button class="col-4" [(value)]="teleShotsMissed">Missed</frc971-counter-button> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 63 | </div> |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 64 | <div class="buttons"> |
| 65 | <button class="btn btn-primary" (click)="prevSection()">Back</button> |
| 66 | <button class="btn btn-primary" (click)="nextSection()">Next</button> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 67 | </div> |
| 68 | </div> |
| 69 | |
| 70 | <div *ngSwitchCase="'Climb'" id="climb" class="container-fluid"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 71 | <form> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 72 | <input [(ngModel)]="level" type="radio" name="level" id="no_attempt" [value]="ClimbLevel.NoAttempt"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 73 | <label for="no_attempt">No climbing attempt</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 74 | <input [(ngModel)]="level" type="radio" name="level" id="low" [value]="ClimbLevel.Low"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 75 | <label for="low">Low</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 76 | <input [(ngModel)]="level" type="radio" name="level" id="medium" [value]="ClimbLevel.Medium"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 77 | <label for="medium">Medium</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 78 | <input [(ngModel)]="level" type="radio" name="level" id="high" [value]="ClimbLevel.High"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 79 | <label for="high">High</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 80 | <input [(ngModel)]="level" type="radio" name="level" id="transversal" [value]="ClimbLevel.Transversal"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 81 | <label for="transversal">Transversal</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 82 | <input [(ngModel)]="level" type="radio" name="level" id="failed" [value]="ClimbLevel.Failed"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 83 | <label for="failed">Failed</label><br> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 84 | <input [(ngModel)]="level" type="radio" name="level" id="failed_with_plenty_of_time" [value]="ClimbLevel.FailedWithPlentyOfTime"> |
Philipp Schrader | 5990fd3 | 2022-03-15 21:49:58 -0700 | [diff] [blame] | 85 | <label for="failed_with_plenty_of_time">Failed (attempted with more than 10 seconds left)</label><br> |
| 86 | </form> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 87 | <div class="row"> |
| 88 | <h4>Comments</h4> |
Philipp Schrader | fa45d74 | 2022-03-18 19:29:05 -0700 | [diff] [blame] | 89 | <textarea [(ngModel)]="comment" id="comment"></textarea> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 90 | </div> |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 91 | <div class="buttons"> |
| 92 | <button class="btn btn-primary" (click)="prevSection()">Back</button> |
| 93 | <button class="btn btn-primary" (click)="nextSection()">Next</button> |
| 94 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 95 | </div> |
| 96 | |
Philipp Schrader | e279e1a | 2022-03-15 22:20:10 -0700 | [diff] [blame] | 97 | <div *ngSwitchCase="'Other'" id="defense" class="container-fluid"> |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 98 | <h4 class="text-center">How much did other robots play defense against this robot?</h4> |
| 99 | 0 - No defense played against this robot<br/> |
| 100 | 1 - Minimal defense<br/> |
| 101 | 2 - Some defense<br/> |
| 102 | 3 - About half the match was played against defense<br/> |
| 103 | 4 - Good amount of defense<br/> |
| 104 | 5 - Constant defense |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 105 | <div class="row" style="min-height: 50px"> |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 106 | <div class="col-10"> |
| 107 | <input type="range" min="0" max="5" [(ngModel)]="defensePlayedOnScore"> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 108 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 109 | <div class="col"> |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 110 | <h6>{{defensePlayedOnScore}}</h6> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 111 | </div> |
| 112 | </div> |
| 113 | |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 114 | <h4 class="text-center">How much did this robot play defense against other robots?</h4> |
| 115 | 0 - This robot did not play defense<br/> |
| 116 | 1 - Minimal defense<br/> |
| 117 | 2 - Some defense<br/> |
| 118 | 3 - Defense was played for about half the match<br/> |
| 119 | 4 - Good amount of defense<br/> |
| 120 | 5 - Constant defense |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 121 | <div class="row"> |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 122 | <div class="col-10"> |
| 123 | <input type="range" min="0" max="5" [(ngModel)]="defensePlayedScore"> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 124 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 125 | <div class="col"> |
Philipp Schrader | 6b2e950 | 2022-03-15 23:42:56 -0700 | [diff] [blame] | 126 | <h6>{{defensePlayedScore}}</h6> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 127 | </div> |
| 128 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 129 | |
Philipp Schrader | e279e1a | 2022-03-15 22:20:10 -0700 | [diff] [blame] | 130 | <div class="row"> |
| 131 | <form> |
| 132 | <input type="checkbox" [(ngModel)]="noShow" name="no_show" id="no_show"> |
| 133 | <label for="no_show">No show</label><br> |
| 134 | <input type="checkbox" [(ngModel)]="neverMoved" name="never_moved" id="never_moved"> |
| 135 | <label for="never_moved">Never moved</label><br> |
| 136 | <input type="checkbox" [(ngModel)]="batteryDied" name="battery_died" id="battery_died"> |
| 137 | <label for="battery_died">Battery died</label><br> |
| 138 | <input type="checkbox" [(ngModel)]="mechanicallyBroke" name="mechanically_broke" id="mechanically_broke"> |
| 139 | <label for="mechanically_broke">Broke (mechanically)</label><br/> |
| 140 | <input type="checkbox" [(ngModel)]="lostComs" name="lost_coms" id="lost_coms"> |
| 141 | <label for="lost_coms">Lost coms</label> |
| 142 | </form> |
| 143 | </div> |
| 144 | |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 145 | <div class="buttons"> |
| 146 | <button class="btn btn-primary" (click)="prevSection()">Back</button> |
| 147 | <button class="btn btn-primary" (click)="nextSection()">Next</button> |
| 148 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 149 | </div> |
| 150 | |
| 151 | <div *ngSwitchCase="'Review and Submit'" id="review" class="container-fluid"> |
Philipp Schrader | 93ade04 | 2022-03-05 17:16:10 -0800 | [diff] [blame] | 152 | <h4>Team Selection</h4> |
| 153 | <ul> |
| 154 | <li>Match number: {{matchNumber}}</li> |
| 155 | <li>Team number: {{teamNumber}}</li> |
| 156 | </ul> |
| 157 | |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 158 | <h4>Auto</h4> |
| 159 | <ul> |
Philipp Schrader | 0a87303 | 2022-03-17 21:22:41 -0700 | [diff] [blame] | 160 | <li>Quadrant: {{quadrant}}</li> |
Milo Lin | 905e78a | 2022-03-12 15:55:35 -0800 | [diff] [blame] | 161 | <li>Collected Ball 1: {{ball1}}</li> |
| 162 | <li>Collected Ball 2: {{ball2}}</li> |
| 163 | <li>Collected Ball 3: {{ball3}}</li> |
| 164 | <li>Collected Ball 4: {{ball4}}</li> |
| 165 | <li>Collected Ball 5: {{ball5}}</li> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 166 | <li>Upper Shots Made: {{autoUpperShotsMade}}</li> |
| 167 | <li>Lower Shots Made: {{autoLowerShotsMade}}</li> |
| 168 | <li>Missed Shots: {{autoShotsMissed}}</li> |
| 169 | </ul> |
| 170 | |
| 171 | <h4>TeleOp</h4> |
| 172 | <ul> |
| 173 | <li>Upper Shots Made: {{teleUpperShotsMade}}</li> |
| 174 | <li>Lower Shots Made: {{teleLowerShotsMade}}</li> |
Philipp Schrader | fa09693 | 2022-03-05 20:07:10 -0800 | [diff] [blame] | 175 | <li>Missed Shots: {{teleShotsMissed}}</li> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 176 | </ul> |
| 177 | |
| 178 | <h4>Climb</h4> |
| 179 | <ul> |
Philipp Schrader | 36df73a | 2022-03-17 23:27:24 -0700 | [diff] [blame] | 180 | <li>Level: {{level | levelToString}}</li> |
Philipp Schrader | fa45d74 | 2022-03-18 19:29:05 -0700 | [diff] [blame] | 181 | <li>Comments: {{comment}}</li> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 182 | </ul> |
| 183 | |
Philipp Schrader | e279e1a | 2022-03-15 22:20:10 -0700 | [diff] [blame] | 184 | <h4>Other</h4> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 185 | <ul> |
| 186 | <li>Defense Played On Rating: {{defensePlayedOnScore}}</li> |
Philipp Schrader | fa09693 | 2022-03-05 20:07:10 -0800 | [diff] [blame] | 187 | <li>Defense Played Rating: {{defensePlayedScore}}</li> |
Philipp Schrader | e279e1a | 2022-03-15 22:20:10 -0700 | [diff] [blame] | 188 | <li>No show: {{noShow}}</li> |
| 189 | <li>Never moved: {{neverMoved}}</li> |
| 190 | <li>Battery died: {{batteryDied}}</li> |
| 191 | <li>Broke (mechanically): {{mechanicallyBroke}}</li> |
| 192 | <li>Lost coms: {{lostComs}}</li> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 193 | </ul> |
| 194 | |
Philipp Schrader | 72beced | 2022-03-07 05:29:52 -0800 | [diff] [blame] | 195 | <span class="error_message">{{ errorMessage }}</span> |
Philipp Schrader | 8b8ed67 | 2022-03-05 18:08:50 -0800 | [diff] [blame] | 196 | |
Philipp Schrader | 5079fa1 | 2022-03-19 15:40:12 -0700 | [diff] [blame] | 197 | <div class="buttons"> |
| 198 | <button class="btn btn-primary" (click)="prevSection()">Back</button> |
Alex Perry | bb3d206 | 2022-03-05 18:14:33 -0800 | [diff] [blame] | 199 | <button class="btn btn-primary" (click)="nextSection()">Submit</button> |
| 200 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 201 | </div> |
Philipp Schrader | a3c4e26 | 2022-03-17 09:04:12 -0700 | [diff] [blame] | 202 | |
| 203 | <div *ngSwitchCase="'Success'" id="success" class="container-fluid"> |
Ravago Jones | 2813c03 | 2022-03-16 23:44:11 -0700 | [diff] [blame] | 204 | <span>Successfully submitted scouting data.</span> |
| 205 | <div class="buttons justify-content-end"> |
| 206 | <button class="btn btn-primary" (click)="nextSection()">Continue</button> |
| 207 | </div> |
| 208 | |
Philipp Schrader | a3c4e26 | 2022-03-17 09:04:12 -0700 | [diff] [blame] | 209 | </div> |
Philipp Schrader | 8058743 | 2022-03-05 15:41:22 -0800 | [diff] [blame] | 210 | </ng-container> |