blob: ec95f3941555876382e0cd237c26589d1cc64fc4 [file] [log] [blame]
Philipp Schrader6b2e9502022-03-15 23:42:56 -07001<div class="header" #header>
Philipp Schrader817cce32022-03-26 15:00:00 -07002 <h2>{{section}}</h2>
Philipp Schrader80587432022-03-05 15:41:22 -08003</div>
4
5<ng-container [ngSwitch]="section">
Philipp Schrader817cce32022-03-26 15:00:00 -07006 <div
7 *ngSwitchCase="'Team Selection'"
8 id="team_selection"
9 class="container-fluid"
10 >
11 <div class="row">
12 <label for="match_number">Match Number</label>
13 <input
14 [(ngModel)]="matchNumber"
15 type="number"
16 id="match_number"
17 min="1"
18 max="999"
19 />
20 </div>
21 <div class="row">
22 <label for="team_number">Team Number</label>
23 <input
24 [(ngModel)]="teamNumber"
25 type="number"
26 id="team_number"
27 min="1"
28 max="9999"
29 />
30 </div>
Philipp Schrader8aeb14f2022-04-08 21:23:18 -070031 <div class="row">
Philipp Schrader30b4a682022-04-16 14:36:17 -070032 <label for="set_number">Set Number</label>
33 <input
34 [(ngModel)]="setNumber"
35 type="number"
36 id="set_number"
37 min="1"
38 max="10"
39 />
Philipp Schrader8aeb14f2022-04-08 21:23:18 -070040 </div>
41 <div class="row">
Philipp Schrader30b4a682022-04-16 14:36:17 -070042 <label for="comp_level">Comp Level</label>
Philipp Schrader8aeb14f2022-04-08 21:23:18 -070043 <select [(ngModel)]="compLevel" type="number" id="comp_level">
44 <option *ngFor="let level of COMP_LEVELS" [ngValue]="level">
45 {{COMP_LEVEL_LABELS[level]}}
46 </option>
47 </select>
48 </div>
Philipp Schrader817cce32022-03-26 15:00:00 -070049 <div class="buttons">
50 <!-- hack to right align the next button -->
51 <div></div>
Filip Kujawa0ef334c2023-02-20 19:42:45 -080052 <button class="btn btn-primary" (click)="changeSectionTo('Init');">
53 Next
54 </button>
Philipp Schrader817cce32022-03-26 15:00:00 -070055 </div>
56 </div>
57
Filip Kujawa0ef334c2023-02-20 19:42:45 -080058 <div *ngSwitchCase="'Init'" id="init" class="container-fluid">
59 <h2>Select Starting Position</h2>
60 <div *ngFor="let i of [1, 2, 3, 4]">
61 <label>
Philipp Schrader817cce32022-03-26 15:00:00 -070062 <input
63 type="radio"
Filip Kujawa0ef334c2023-02-20 19:42:45 -080064 name="radio-group"
65 [value]="i"
66 (change)="selectedValue = $event.target.value"
Philipp Schrader817cce32022-03-26 15:00:00 -070067 />
Filip Kujawa0ef334c2023-02-20 19:42:45 -080068 {{ i }}
Philipp Schrader817cce32022-03-26 15:00:00 -070069 </label>
Filip Kujawa0ef334c2023-02-20 19:42:45 -080070 </div>
Philipp Schrader817cce32022-03-26 15:00:00 -070071 <div class="buttons">
Filip Kujawa0ef334c2023-02-20 19:42:45 -080072 <button
73 class="btn btn-primary"
74 [disabled]="!selectedValue"
75 (click)="changeSectionTo('Pickup'); addAction({type: 'startMatchAction', position: selectedValue});"
76 >
77 Start Match
78 </button>
Philipp Schrader817cce32022-03-26 15:00:00 -070079 </div>
80 </div>
81
Filip Kujawa0ef334c2023-02-20 19:42:45 -080082 <div *ngSwitchCase="'Pickup'" id="PickUp" class="container-fluid">
83 <button class="btn btn-danger" (click)="undoLastAction()">UNDO</button>
84 <button
85 class="btn btn-warning"
86 (click)="changeSectionTo('Place'); addAction({type: 'pickupObjectAction', objectType: ObjectType.kCone});"
87 >
88 CONE
89 </button>
90 <button
91 class="btn btn-primary"
92 (click)="changeSectionTo('Place'); addAction({type: 'pickupObjectAction', objectType: ObjectType.kCube});"
93 >
94 CUBE
95 </button>
96 <button
97 *ngIf="autoPhase"
98 class="btn btn-info"
99 (click)="autoPhase = false; addAction({type: 'endAutoPhase'});"
100 >
101 Start Teleop
102 </button>
103 <button
104 *ngIf="!autoPhase"
105 class="btn btn-info"
106 (click)="changeSectionTo('Endgame')"
107 >
108 Endgame
109 </button>
Philipp Schrader817cce32022-03-26 15:00:00 -0700110 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800111
Filip Kujawa0ef334c2023-02-20 19:42:45 -0800112 <div *ngSwitchCase="'Place'" id="Place" class="container-fluid">
113 <button class="btn btn-danger" (click)="undoLastAction()">UNDO</button>
114 <button
115 class="btn btn-success"
116 (click)="changeSectionTo('Pickup'); addAction({type: 'placeObjectAction', scoreLevel: ScoreLevel.kHigh});"
117 >
118 HIGH
119 </button>
120 <button
121 class="btn btn-warning"
122 (click)="changeSectionTo('Pickup'); addAction({type: 'placeObjectAction', scoreLevel: ScoreLevel.kMiddle});"
123 >
124 MID
125 </button>
126 <button
127 class="btn btn-danger"
128 (click)="changeSectionTo('Pickup'); addAction({type: 'placeObjectAction', scoreLevel: ScoreLevel.kLow});"
129 >
130 LOW
131 </button>
132 <button
133 *ngIf="autoPhase"
134 class="btn btn-info"
135 (click)="autoPhase = false; addAction({type: 'endAutoPhase'});"
136 >
137 Start Teleop
138 </button>
139 <button
140 *ngIf="!autoPhase"
141 class="btn btn-info"
142 (click)="changeSectionTo('Endgame')"
143 >
144 Endgame
145 </button>
Philipp Schrader817cce32022-03-26 15:00:00 -0700146 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800147
Filip Kujawa0ef334c2023-02-20 19:42:45 -0800148 <div *ngSwitchCase="'Endgame'" id="Endgame" class="container-fluid">
149 <button class="btn btn-danger" (click)="undoLastAction()">UNDO</button>
150 <label>
151 <input type="checkbox" (change)="dockedValue = $event.target.value" />
152 Docked
153 </label>
154 <label>
155 <input type="checkbox" (change)="engagedValue = $event.target.value" />
156 Engaged
157 </label>
158 <button
159 *ngIf="!autoPhase"
160 class="btn btn-info"
161 (click)="changeSectionTo('Review and Submit'); addAction({type: 'endMatchAction', docked: dockedValue, engaged: engagedValue});"
162 >
163 End Match
164 </button>
165 </div>
166
167 <div *ngSwitchCase="'Review and Submit'" id="Review" class="container-fluid">
168 <button class="btn btn-danger" (click)="undoLastAction()">UNDO</button>
169 <button
170 *ngIf="!autoPhase"
171 class="btn btn-warning"
172 (click)="submitActions();"
173 >
174 Submit
175 </button>
176 </div>
177
178 <div *ngSwitchCase="'Success'" id="Success" class="container-fluid">
179 <h2>Successfully submitted data.</h2>
Philipp Schrader817cce32022-03-26 15:00:00 -0700180 </div>
Philipp Schrader80587432022-03-05 15:41:22 -0800181</ng-container>