scouting: Submit the Auto quadrant selection to the webserver
This patch makes it so the user's selection of the quadrant in Auto
gets sent to the webserver. It's not added to the database yet.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: Ia41df12b680eeb03062359d5dd561f3d8cd07df7
diff --git a/scouting/scouting_test.ts b/scouting/scouting_test.ts
index 8141cfa..fda3834 100644
--- a/scouting/scouting_test.ts
+++ b/scouting/scouting_test.ts
@@ -111,6 +111,7 @@
await element(by.buttonText('Next')).click();
expect(await getHeadingText()).toEqual('Auto');
+ await element(by.id('quadrant3')).click();
await element(by.buttonText('Next')).click();
expect(await getHeadingText()).toEqual('TeleOp');
@@ -136,6 +137,7 @@
await expectNthReviewFieldToBe('Upper Shots Made', 0, '0');
await expectNthReviewFieldToBe('Lower Shots Made', 0, '0');
await expectNthReviewFieldToBe('Missed Shots', 0, '0');
+ await expectReviewFieldToBe('Quadrant', '3');
// Validate TeleOp.
await expectNthReviewFieldToBe('Upper Shots Made', 1, '0');
diff --git a/scouting/webserver/requests/messages/submit_data_scouting.fbs b/scouting/webserver/requests/messages/submit_data_scouting.fbs
index 77a4a03..d3d87e2 100644
--- a/scouting/webserver/requests/messages/submit_data_scouting.fbs
+++ b/scouting/webserver/requests/messages/submit_data_scouting.fbs
@@ -26,6 +26,9 @@
auto_ball_3:bool (id:13);
auto_ball_4:bool (id:14);
auto_ball_5:bool (id:15);
+ // The quadrant that the robot starts in for autonomous mode.
+ // Valid values are 1 through 4.
+ starting_quadrant: int (id:16);
}
root_type SubmitDataScouting;
diff --git a/scouting/www/entry/entry.component.ts b/scouting/www/entry/entry.component.ts
index d06e117..7461aad 100644
--- a/scouting/www/entry/entry.component.ts
+++ b/scouting/www/entry/entry.component.ts
@@ -36,6 +36,7 @@
ball3: boolean = false;
ball4: boolean = false;
ball5: boolean = false;
+ quadrant: number = 1;
errorMessage: string = '';
noShow: boolean = false;
neverMoved: boolean = false;
@@ -106,6 +107,7 @@
SubmitDataScouting.addAutoBall3(builder, this.ball3);
SubmitDataScouting.addAutoBall4(builder, this.ball4);
SubmitDataScouting.addAutoBall5(builder, this.ball5);
+ SubmitDataScouting.addStartingQuadrant(builder, this.quadrant);
// TODO(phil): Add support for defensePlayedOnScore.
// TODO(phil): Fix the Climbing score.
diff --git a/scouting/www/entry/entry.ng.html b/scouting/www/entry/entry.ng.html
index cae9d89..dd40cdf 100644
--- a/scouting/www/entry/entry.ng.html
+++ b/scouting/www/entry/entry.ng.html
@@ -32,16 +32,16 @@
</form>
</div>
<div class="row">
- <img src="/pictures/field/quadrants.jpeg" alt="Image">
+ <img src="/pictures/field/quadrants.jpeg" alt="Quadrants Image">
<form>
- <input type="radio" name="quadrant" id="first" value="Quadrant 1">
- <label for="first">Quadrant 1</label>
- <input type="radio" name="quadrant" id="second" value="Quadrant 2">
- <label for="second">Quadrant 2</label><br>
- <input type="radio" name="quadrant" id="third" value="Quadrant 3">
- <label for="third">Quadrant 3</label>
- <input type="radio" name="quadrant" id="fourth" value="Quadrant 4">
- <label for="fourth">Quadrant 4</label>
+ <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant1" [value]="1">
+ <label for="quadrant1">Quadrant 1</label>
+ <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant2" [value]="2">
+ <label for="quadrant2">Quadrant 2</label><br>
+ <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant3" [value]="3">
+ <label for="quadrant3">Quadrant 3</label>
+ <input type="radio" [(ngModel)]="quadrant" name="quadrant" id="quadrant4" [value]="4">
+ <label for="quadrant4">Quadrant 4</label>
</form>
</div>
<div class="row justify-content-center">
@@ -162,6 +162,7 @@
<li>Collected Ball 3: {{ball3}}</li>
<li>Collected Ball 4: {{ball4}}</li>
<li>Collected Ball 5: {{ball5}}</li>
+ <li>Quadrant: {{quadrant}}</li>
<li>Upper Shots Made: {{autoUpperShotsMade}}</li>
<li>Lower Shots Made: {{autoLowerShotsMade}}</li>
<li>Missed Shots: {{autoShotsMissed}}</li>