blob: dd40cdf3fe9e6891bc6d5515d66bc4d73fea9ce9 [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 Schrader577befe2022-03-15 00:00:49 -070024 <img src="/pictures/field/balls.jpeg" alt="Image">
Philipp Schrader80587432022-03-05 15:41:22 -080025 <form>
26 <!--Choice for each ball location-->
Milo Lin905e78a2022-03-12 15:55:35 -080027 <input [(ngModel)]=ball1 type="checkbox" name="1ball" value="1" id="ball-1"><label for="ball-1">Ball 1</label>
28 <input [(ngModel)]=ball2 type="checkbox" name="2ball" value="2" id="ball-2"><label for="ball-2">Ball 2</label><br>
29 <input [(ngModel)]=ball3 type="checkbox" name="3ball" value="3" id="ball-3"><label for="ball-3">Ball 3</label>
30 <input [(ngModel)]=ball4 type="checkbox" name="4ball" value="4" id="ball-4"><label for="ball-4">Ball 4</label><br>
31 <input [(ngModel)]=ball5 type="checkbox" name="5ball" value="5" id="ball-5"><label for="ball-5">Ball 5</label>
Philipp Schrader80587432022-03-05 15:41:22 -080032 </form>
33 </div>
34 <div class="row">
Philipp Schradere7c252d2022-03-17 21:13:47 -070035 <img src="/pictures/field/quadrants.jpeg" alt="Quadrants Image">
Philipp Schrader80587432022-03-05 15:41:22 -080036 <form>
Philipp Schradere7c252d2022-03-17 21:13:47 -070037 <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant1" [value]="1">
38 <label for="quadrant1">Quadrant 1</label>
39 <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant2" [value]="2">
40 <label for="quadrant2">Quadrant 2</label><br>
41 <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant3" [value]="3">
42 <label for="quadrant3">Quadrant 3</label>
43 <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant4" [value]="4">
44 <label for="quadrant4">Quadrant 4</label>
Philipp Schrader80587432022-03-05 15:41:22 -080045 </form>
46 </div>
47 <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>
72 <input [(ngModel)]="level" type="radio" name="level" id="no_attempt" value="NoAttempt">
73 <label for="no_attempt">No climbing attempt</label><br>
74 <input [(ngModel)]="level" type="radio" name="level" id="low" value="Low">
75 <label for="low">Low</label><br>
76 <input [(ngModel)]="level" type="radio" name="level" id="medium" value="Medium">
77 <label for="medium">Medium</label><br>
78 <input [(ngModel)]="level" type="radio" name="level" id="high" value="High">
79 <label for="high">High</label><br>
80 <input [(ngModel)]="level" type="radio" name="level" id="transversal" value="Transversal">
81 <label for="transversal">Transversal</label><br>
82 <input [(ngModel)]="level" type="radio" name="level" id="failed" value="Failed">
83 <label for="failed">Failed</label><br>
84 <input [(ngModel)]="level" type="radio" name="level" id="failed_with_plenty_of_time" value="FailedWithPlentyOfTime">
85 <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>
89 <textarea></textarea>
90 </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>
Milo Lin905e78a2022-03-12 15:55:35 -0800160 <li>Collected Ball 1: {{ball1}}</li>
161 <li>Collected Ball 2: {{ball2}}</li>
162 <li>Collected Ball 3: {{ball3}}</li>
163 <li>Collected Ball 4: {{ball4}}</li>
164 <li>Collected Ball 5: {{ball5}}</li>
Philipp Schradere7c252d2022-03-17 21:13:47 -0700165 <li>Quadrant: {{quadrant}}</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 Schrader5990fd32022-03-15 21:49:58 -0700180 <li>Level: {{level}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800181 </ul>
182
Philipp Schradere279e1a2022-03-15 22:20:10 -0700183 <h4>Other</h4>
Philipp Schrader80587432022-03-05 15:41:22 -0800184 <ul>
185 <li>Defense Played On Rating: {{defensePlayedOnScore}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800186 <li>Defense Played Rating: {{defensePlayedScore}}</li>
Philipp Schradere279e1a2022-03-15 22:20:10 -0700187 <li>No show: {{noShow}}</li>
188 <li>Never moved: {{neverMoved}}</li>
189 <li>Battery died: {{batteryDied}}</li>
190 <li>Broke (mechanically): {{mechanicallyBroke}}</li>
191 <li>Lost coms: {{lostComs}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800192 </ul>
193
Philipp Schrader72beced2022-03-07 05:29:52 -0800194 <span class="error_message">{{ errorMessage }}</span>
Philipp Schrader8b8ed672022-03-05 18:08:50 -0800195
Alex Perrybb3d2062022-03-05 18:14:33 -0800196 <div class="buttons">
197 <button class="btn btn-primary" (click)="prevSection()">Back</button>
198 <button class="btn btn-primary" (click)="nextSection()">Submit</button>
199 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800200 </div>
Philipp Schradera3c4e262022-03-17 09:04:12 -0700201
202 <div *ngSwitchCase="'Success'" id="success" class="container-fluid">
203 <h4>Success</h4>
204 <div>Please reload the page to submit more data.</div>
205 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800206</ng-container>