blob: c9934675f75387502695081991fd5397394a3fff [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>
32 <input type="checkbox" name="balls" value="6" id="ball-6"><label for="ball-6">Ball 6</label>
Philipp Schrader80587432022-03-05 15:41:22 -080033 </form>
34 </div>
35 <div class="row">
Philipp Schrader577befe2022-03-15 00:00:49 -070036 <img src="/pictures/field/quadrants.jpeg" alt="Image">
Philipp Schrader80587432022-03-05 15:41:22 -080037 <form>
38 <input type="radio" name="quadrant" id="first" value="Quadrant 1">
39 <label for="first">Quadrant 1</label>
40 <input type="radio" name="quadrant" id="second" value="Quadrant 2">
41 <label for="second">Quadrant 2</label><br>
42 <input type="radio" name="quadrant" id="third" value="Quadrant 3">
43 <label for="third">Quadrant 3</label>
44 <input type="radio" name="quadrant" id="fourth" value="Quadrant 4">
45 <label for="fourth">Quadrant 4</label>
46 </form>
47 </div>
48 <div class="row justify-content-center">
Alex Perryf82524c2022-03-09 20:04:47 -080049 <frc971-counter-button class="col-4" [(value)]="autoUpperShotsMade">Upper</frc971-counter-button>
50 <frc971-counter-button class="col-4" [(value)]="autoLowerShotsMade">Lower</frc971-counter-button>
51 <frc971-counter-button class="col-4" [(value)]="autoShotsMissed">Missed</frc971-counter-button>
Philipp Schrader80587432022-03-05 15:41:22 -080052 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -080053 <div class="buttons">
Alex Perry93f57e62022-03-12 13:14:03 -080054 <button class="btn btn-primary" (click)="prevSection()">Back</button>
Alex Perrybb3d2062022-03-05 18:14:33 -080055 <button class="btn btn-primary" (click)="nextSection()">Next</button>
Philipp Schrader80587432022-03-05 15:41:22 -080056 </div>
57 </div>
58
59 <div *ngSwitchCase="'TeleOp'" id="teleop" class="container-fluid">
60 <div class="row justify-content-center">
Alex Perryf82524c2022-03-09 20:04:47 -080061 <frc971-counter-button class="col-4" [(value)]="teleUpperShotsMade">Upper</frc971-counter-button>
62 <frc971-counter-button class="col-4" [(value)]="teleLowerShotsMade">Lower</frc971-counter-button>
63 <frc971-counter-button class="col-4" [(value)]="teleShotsMissed">Missed</frc971-counter-button>
Philipp Schrader80587432022-03-05 15:41:22 -080064 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -080065 <div class="buttons">
66 <button class="btn btn-primary" (click)="prevSection()">Back</button>
67 <button class="btn btn-primary" (click)="nextSection()">Next</button>
Philipp Schrader80587432022-03-05 15:41:22 -080068 </div>
69 </div>
70
71 <div *ngSwitchCase="'Climb'" id="climb" class="container-fluid">
72 <div class="row">
73 <form>
Yash Chainani514bdc62022-03-12 17:44:03 -080074 <input [(ngModel)]="climbed" type="radio" name="climbing" id="continue" [value]="false">
Alex Perry0612b6d2022-03-12 14:26:21 -080075 <label for="continue">Kept Shooting</label><br>
Yash Chainani514bdc62022-03-12 17:44:03 -080076 <input [(ngModel)]="climbed" type="radio" name="climbing" id="climbed" [value]="true">
Alex Perry0612b6d2022-03-12 14:26:21 -080077 <label for="climbed">Attempted to Climb</label><br>
Philipp Schrader80587432022-03-05 15:41:22 -080078 </form>
79 </div>
80 <div *ngIf="climbed">
81 <h4>Bar Made</h4>
82 <form>
Alex Perry0612b6d2022-03-12 14:26:21 -080083 <input [ngModel]="level" (click)="setLow()" type="radio" name="level" id="low" value="Low">
84 <label for="low">Low</label><br>
85 <input [ngModel]="level" (click)="setMedium()" type="radio" name="level" id="medium" value="Medium">
86 <label for="medium">Medium</label><br>
87 <input [ngModel]="level" (click)="setHigh()" type="radio" name="level" id="high" value="High">
88 <label for="high">High</label><br>
89 <input [ngModel]="level" (click)="setTransversal()" type="radio" name="level" id="transversal" value="Transversal">
90 <label for="transversal">Transversal</label><br>
91 <input [ngModel]="level" (click)="setFailed()" type="radio" name="level" id="failed" value="Failed">
92 <label for="failed">Failed</label><br>
93
94 <input (click)="toggleProper()" type="checkbox" id="proper">
95 <label for="proper">~10 seconds to attempt next level?</label>
Philipp Schrader80587432022-03-05 15:41:22 -080096 </form>
97 </div>
98 <div class="row">
99 <h4>Comments</h4>
100 <textarea></textarea>
101 </div>
Alex Perrybb3d2062022-03-05 18:14:33 -0800102 <div class="buttons">
103 <button class="btn btn-primary" (click)="prevSection()">Back</button>
104 <button class="btn btn-primary" (click)="nextSection()">Next</button>
105 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800106 </div>
107
108 <div *ngSwitchCase="'Defense'" id="defense" class="container-fluid">
109 <h4 class="text-center">How much defense did other robots play on this robot?</h4>
110
111 <div class="row" style="min-height: 50px">
112 <div class="col">
113 <h6>None</h6>
114 </div>
115
116 <div class="col">
Alex Perry0612b6d2022-03-12 14:26:21 -0800117 <input type="range" min="0" max="5" value="0" [(ngModel)]="defensePlayedOnScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800118 </div>
119
120 <div class="col">
121 <h6>A lot</h6>
122 </div>
123 </div>
124
125 <h6 class="text-center">{{defensePlayedOnScore}}</h6>
126
127 <h4 class="text-center">How much defense did this robot play?</h4>
128
129 <div class="row">
130
131 <div class="col">
132 <h6>None</h6>
133 </div>
134
135 <div class="col">
Alex Perry0612b6d2022-03-12 14:26:21 -0800136 <input type="range" min="0" max="5" value="0" [(ngModel)]="defensePlayedScore">
Philipp Schrader80587432022-03-05 15:41:22 -0800137 </div>
138
139 <div class="col">
140 <h6>A lot</h6>
141 </div>
142 </div>
143 <h6 class="text-center">{{defensePlayedScore}}</h6>
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>
160 <li>Upper Shots Made: {{autoUpperShotsMade}}</li>
161 <li>Lower Shots Made: {{autoLowerShotsMade}}</li>
162 <li>Missed Shots: {{autoShotsMissed}}</li>
163 </ul>
164
165 <h4>TeleOp</h4>
166 <ul>
167 <li>Upper Shots Made: {{teleUpperShotsMade}}</li>
168 <li>Lower Shots Made: {{teleLowerShotsMade}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800169 <li>Missed Shots: {{teleShotsMissed}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800170 </ul>
171
172 <h4>Climb</h4>
173 <ul>
174 <div *ngIf="climbed">
175 <li *ngIf="climbed">Attempted to Climb?: Yes</li>
176 <li>Level: {{level}}</li>
177 <li *ngIf="proper">Proper Attempt: Yes</li>
178 <li *ngIf="!proper">Proper Attempt: No</li>
179 </div>
180 <li *ngIf="!climbed">Attempted to Climb: No</li>
181 </ul>
182
183 <h4>Defense</h4>
184 <ul>
185 <li>Defense Played On Rating: {{defensePlayedOnScore}}</li>
Philipp Schraderfa096932022-03-05 20:07:10 -0800186 <li>Defense Played Rating: {{defensePlayedScore}}</li>
Philipp Schrader80587432022-03-05 15:41:22 -0800187 </ul>
188
Philipp Schrader72beced2022-03-07 05:29:52 -0800189 <span class="error_message">{{ errorMessage }}</span>
Philipp Schrader8b8ed672022-03-05 18:08:50 -0800190
Alex Perrybb3d2062022-03-05 18:14:33 -0800191 <div class="buttons">
192 <button class="btn btn-primary" (click)="prevSection()">Back</button>
193 <button class="btn btn-primary" (click)="nextSection()">Submit</button>
194 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800195 </div>
196</ng-container>