blob: 86916aba503f65af05ddc0c61fd1cbca3f735abb [file] [log] [blame]
Philipp Schrader80587432022-03-05 15:41:22 -08001<div class="header">
2 <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 Lin4d6eeff2022-03-12 15:55:35 -080027 <input type="checkbox" name="balls" value="1" id="ball-1"><label for="ball-1">Ball 1</label>
28 <input type="checkbox" name="balls" value="2" id="ball-2"><label for="ball-2">Ball 2</label><br>
29 <input type="checkbox" name="balls" value="3" id="ball-3"><label for="ball-3">Ball 3</label>
30 <input type="checkbox" name="balls" value="4" id="ball-4"><label for="ball-4">Ball 4</label><br>
31 <input type="checkbox" name="balls" 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 Schrader577befe2022-03-15 00:00:49 -070035 <img src="/pictures/field/quadrants.jpeg" alt="Image">
Philipp Schrader80587432022-03-05 15:41:22 -080036 <form>
37 <input type="radio" name="quadrant" id="first" value="Quadrant 1">
38 <label for="first">Quadrant 1</label>
39 <input type="radio" name="quadrant" id="second" value="Quadrant 2">
40 <label for="second">Quadrant 2</label><br>
41 <input type="radio" name="quadrant" id="third" value="Quadrant 3">
42 <label for="third">Quadrant 3</label>
43 <input type="radio" name="quadrant" id="fourth" value="Quadrant 4">
44 <label for="fourth">Quadrant 4</label>
45 </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 Schrader80587432022-03-05 15:41:22 -080098 <h4 class="text-center">How much defense did other robots play on this robot?</h4>
99
100 <div class="row" style="min-height: 50px">
101 <div class="col">
102 <h6>None</h6>
103 </div>
104
105 <div class="col">
Alex Perry0612b6d2022-03-12 14:26:21 -0800106 <input type="range" min="0" max="5" value="0" [(ngModel)]="defensePlayedOnScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800107 </div>
108
109 <div class="col">
110 <h6>A lot</h6>
111 </div>
112 </div>
113
114 <h6 class="text-center">{{defensePlayedOnScore}}</h6>
115
116 <h4 class="text-center">How much defense did this robot play?</h4>
117
118 <div class="row">
119
120 <div class="col">
121 <h6>None</h6>
122 </div>
123
124 <div class="col">
Alex Perry0612b6d2022-03-12 14:26:21 -0800125 <input type="range" min="0" max="5" value="0" [(ngModel)]="defensePlayedScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800126 </div>
127
128 <div class="col">
129 <h6>A lot</h6>
130 </div>
131 </div>
132 <h6 class="text-center">{{defensePlayedScore}}</h6>
133
Philipp Schradere279e1a2022-03-15 22:20:10 -0700134 <div class="row">
135 <form>
136 <input type="checkbox" [(ngModel)]="noShow" name="no_show" id="no_show">
137 <label for="no_show">No show</label><br>
138 <input type="checkbox" [(ngModel)]="neverMoved" name="never_moved" id="never_moved">
139 <label for="never_moved">Never moved</label><br>
140 <input type="checkbox" [(ngModel)]="batteryDied" name="battery_died" id="battery_died">
141 <label for="battery_died">Battery died</label><br>
142 <input type="checkbox" [(ngModel)]="mechanicallyBroke" name="mechanically_broke" id="mechanically_broke">
143 <label for="mechanically_broke">Broke (mechanically)</label><br/>
144 <input type="checkbox" [(ngModel)]="lostComs" name="lost_coms" id="lost_coms">
145 <label for="lost_coms">Lost coms</label>
146 </form>
147 </div>
148
Alex Perrybb3d2062022-03-05 18:14:33 -0800149 <div class="buttons">
150 <button class="btn btn-primary" (click)="prevSection()">Back</button>
151 <button class="btn btn-primary" (click)="nextSection()">Next</button>
152 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800153 </div>
154
155 <div *ngSwitchCase="'Review and Submit'" id="review" class="container-fluid">
Philipp Schrader93ade042022-03-05 17:16:10 -0800156 <h4>Team Selection</h4>
157 <ul>
158 <li>Match number: {{matchNumber}}</li>
159 <li>Team number: {{teamNumber}}</li>
160 </ul>
161
Philipp Schrader80587432022-03-05 15:41:22 -0800162 <h4>Auto</h4>
163 <ul>
164 <li>Upper Shots Made: {{autoUpperShotsMade}}</li>
165 <li>Lower Shots Made: {{autoLowerShotsMade}}</li>
166 <li>Missed Shots: {{autoShotsMissed}}</li>
167 </ul>
168
169 <h4>TeleOp</h4>
170 <ul>
171 <li>Upper Shots Made: {{teleUpperShotsMade}}</li>
172 <li>Lower Shots Made: {{teleLowerShotsMade}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800173 <li>Missed Shots: {{teleShotsMissed}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800174 </ul>
175
176 <h4>Climb</h4>
177 <ul>
Philipp Schrader5990fd32022-03-15 21:49:58 -0700178 <li>Level: {{level}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800179 </ul>
180
Philipp Schradere279e1a2022-03-15 22:20:10 -0700181 <h4>Other</h4>
Philipp Schrader80587432022-03-05 15:41:22 -0800182 <ul>
183 <li>Defense Played On Rating: {{defensePlayedOnScore}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800184 <li>Defense Played Rating: {{defensePlayedScore}}</li>
Philipp Schradere279e1a2022-03-15 22:20:10 -0700185 <li>No show: {{noShow}}</li>
186 <li>Never moved: {{neverMoved}}</li>
187 <li>Battery died: {{batteryDied}}</li>
188 <li>Broke (mechanically): {{mechanicallyBroke}}</li>
189 <li>Lost coms: {{lostComs}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800190 </ul>
191
Philipp Schrader72beced2022-03-07 05:29:52 -0800192 <span class="error_message">{{ errorMessage }}</span>
Philipp Schrader8b8ed672022-03-05 18:08:50 -0800193
Alex Perrybb3d2062022-03-05 18:14:33 -0800194 <div class="buttons">
195 <button class="btn btn-primary" (click)="prevSection()">Back</button>
196 <button class="btn btn-primary" (click)="nextSection()">Submit</button>
197 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800198 </div>
199</ng-container>