blob: 2b4f60d40ae59233bd0f110e3bbc6397144bb795 [file] [log] [blame]
Philipp Schrader6b2e9502022-03-15 23:42:56 -07001<div class="header" #header>
Philipp Schrader80587432022-03-05 15:41:22 -08002 <h2>{{section}}</h2>
3</div>
4
5<ng-container [ngSwitch]="section">
Philipp Schrader93ade042022-03-05 17:16:10 -08006 <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 Perry93f57e62022-03-12 13:14:03 -080015 <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 Schrader93ade042022-03-05 17:16:10 -080019 </div>
20 </div>
21
Philipp Schrader80587432022-03-05 15:41:22 -080022 <div *ngSwitchCase="'Auto'" id="auto" class="container-fluid">
23 <div class="row">
Philipp Schradere7c252d2022-03-17 21:13:47 -070024 <img src="/pictures/field/quadrants.jpeg" alt="Quadrants Image">
Philipp Schrader80587432022-03-05 15:41:22 -080025 <form>
Philipp Schradere7c252d2022-03-17 21:13:47 -070026 <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 Schrader80587432022-03-05 15:41:22 -080034 </form>
35 </div>
Philipp Schrader0a873032022-03-17 21:22:41 -070036 <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 Schrader80587432022-03-05 15:41:22 -080047 <div class="row justify-content-center">
Alex Perryf82524c2022-03-09 20:04:47 -080048 <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 Schrader80587432022-03-05 15:41:22 -080051 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -080052 <div class="buttons">
Alex Perry93f57e62022-03-12 13:14:03 -080053 <button class="btn btn-primary" (click)="prevSection()">Back</button>
Alex Perrybb3d2062022-03-05 18:14:33 -080054 <button class="btn btn-primary" (click)="nextSection()">Next</button>
Philipp Schrader80587432022-03-05 15:41:22 -080055 </div>
56 </div>
57
58 <div *ngSwitchCase="'TeleOp'" id="teleop" class="container-fluid">
59 <div class="row justify-content-center">
Alex Perryf82524c2022-03-09 20:04:47 -080060 <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 Schrader80587432022-03-05 15:41:22 -080063 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -080064 <div class="buttons">
65 <button class="btn btn-primary" (click)="prevSection()">Back</button>
66 <button class="btn btn-primary" (click)="nextSection()">Next</button>
Philipp Schrader80587432022-03-05 15:41:22 -080067 </div>
68 </div>
69
70 <div *ngSwitchCase="'Climb'" id="climb" class="container-fluid">
Philipp Schrader5990fd32022-03-15 21:49:58 -070071 <form>
Philipp Schrader36df73a2022-03-17 23:27:24 -070072 <input [(ngModel)]="level" type="radio" name="level" id="no_attempt" [value]="ClimbLevel.NoAttempt">
Philipp Schrader5990fd32022-03-15 21:49:58 -070073 <label for="no_attempt">No climbing attempt</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070074 <input [(ngModel)]="level" type="radio" name="level" id="low" [value]="ClimbLevel.Low">
Philipp Schrader5990fd32022-03-15 21:49:58 -070075 <label for="low">Low</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070076 <input [(ngModel)]="level" type="radio" name="level" id="medium" [value]="ClimbLevel.Medium">
Philipp Schrader5990fd32022-03-15 21:49:58 -070077 <label for="medium">Medium</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070078 <input [(ngModel)]="level" type="radio" name="level" id="high" [value]="ClimbLevel.High">
Philipp Schrader5990fd32022-03-15 21:49:58 -070079 <label for="high">High</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070080 <input [(ngModel)]="level" type="radio" name="level" id="transversal" [value]="ClimbLevel.Transversal">
Philipp Schrader5990fd32022-03-15 21:49:58 -070081 <label for="transversal">Transversal</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070082 <input [(ngModel)]="level" type="radio" name="level" id="failed" [value]="ClimbLevel.Failed">
Philipp Schrader5990fd32022-03-15 21:49:58 -070083 <label for="failed">Failed</label><br>
Philipp Schrader36df73a2022-03-17 23:27:24 -070084 <input [(ngModel)]="level" type="radio" name="level" id="failed_with_plenty_of_time" [value]="ClimbLevel.FailedWithPlentyOfTime">
Philipp Schrader5990fd32022-03-15 21:49:58 -070085 <label for="failed_with_plenty_of_time">Failed (attempted with more than 10 seconds left)</label><br>
86 </form>
Philipp Schrader80587432022-03-05 15:41:22 -080087 <div class="row">
88 <h4>Comments</h4>
Philipp Schraderfa45d742022-03-18 19:29:05 -070089 <textarea [(ngModel)]="comment" id="comment"></textarea>
Philipp Schrader80587432022-03-05 15:41:22 -080090 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -080091 <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 Schrader80587432022-03-05 15:41:22 -080095 </div>
96
Philipp Schradere279e1a2022-03-15 22:20:10 -070097 <div *ngSwitchCase="'Other'" id="defense" class="container-fluid">
Philipp Schrader6b2e9502022-03-15 23:42:56 -070098 <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 Schrader80587432022-03-05 15:41:22 -0800105 <div class="row" style="min-height: 50px">
Philipp Schrader6b2e9502022-03-15 23:42:56 -0700106 <div class="col-10">
107 <input type="range" min="0" max="5" [(ngModel)]="defensePlayedOnScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800108 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800109 <div class="col">
Philipp Schrader6b2e9502022-03-15 23:42:56 -0700110 <h6>{{defensePlayedOnScore}}</h6>
Philipp Schrader80587432022-03-05 15:41:22 -0800111 </div>
112 </div>
113
Philipp Schrader6b2e9502022-03-15 23:42:56 -0700114 <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 Schrader80587432022-03-05 15:41:22 -0800121 <div class="row">
Philipp Schrader6b2e9502022-03-15 23:42:56 -0700122 <div class="col-10">
123 <input type="range" min="0" max="5" [(ngModel)]="defensePlayedScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800124 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800125 <div class="col">
Philipp Schrader6b2e9502022-03-15 23:42:56 -0700126 <h6>{{defensePlayedScore}}</h6>
Philipp Schrader80587432022-03-05 15:41:22 -0800127 </div>
128 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800129
Philipp Schradere279e1a2022-03-15 22:20:10 -0700130 <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 Perrybb3d2062022-03-05 18:14:33 -0800145 <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 Schrader80587432022-03-05 15:41:22 -0800149 </div>
150
151 <div *ngSwitchCase="'Review and Submit'" id="review" class="container-fluid">
Philipp Schrader93ade042022-03-05 17:16:10 -0800152 <h4>Team Selection</h4>
153 <ul>
154 <li>Match number: {{matchNumber}}</li>
155 <li>Team number: {{teamNumber}}</li>
156 </ul>
157
Philipp Schrader80587432022-03-05 15:41:22 -0800158 <h4>Auto</h4>
159 <ul>
Philipp Schrader0a873032022-03-17 21:22:41 -0700160 <li>Quadrant: {{quadrant}}</li>
Milo Lin905e78a2022-03-12 15:55:35 -0800161 <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 Schrader80587432022-03-05 15:41:22 -0800166 <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 Schraderfa096932022-03-05 20:07:10 -0800175 <li>Missed Shots: {{teleShotsMissed}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800176 </ul>
177
178 <h4>Climb</h4>
179 <ul>
Philipp Schrader36df73a2022-03-17 23:27:24 -0700180 <li>Level: {{level | levelToString}}</li>
Philipp Schraderfa45d742022-03-18 19:29:05 -0700181 <li>Comments: {{comment}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800182 </ul>
183
Philipp Schradere279e1a2022-03-15 22:20:10 -0700184 <h4>Other</h4>
Philipp Schrader80587432022-03-05 15:41:22 -0800185 <ul>
186 <li>Defense Played On Rating: {{defensePlayedOnScore}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800187 <li>Defense Played Rating: {{defensePlayedScore}}</li>
Philipp Schradere279e1a2022-03-15 22:20:10 -0700188 <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 Schrader80587432022-03-05 15:41:22 -0800193 </ul>
194
Philipp Schrader72beced2022-03-07 05:29:52 -0800195 <span class="error_message">{{ errorMessage }}</span>
Philipp Schrader8b8ed672022-03-05 18:08:50 -0800196
Philipp Schrader5079fa12022-03-19 15:40:12 -0700197 <div class="buttons">
198 <button class="btn btn-primary" (click)="prevSection()">Back</button>
Alex Perrybb3d2062022-03-05 18:14:33 -0800199 <button class="btn btn-primary" (click)="nextSection()">Submit</button>
200 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800201 </div>
Philipp Schradera3c4e262022-03-17 09:04:12 -0700202
203 <div *ngSwitchCase="'Success'" id="success" class="container-fluid">
Ravago Jones2813c032022-03-16 23:44:11 -0700204 <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 Schradera3c4e262022-03-17 09:04:12 -0700209 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800210</ng-container>