Make team number a string
Signed-off-by: Emily Markova <emily.markova@gmail.com>
Change-Id: Ia1cff2cfb854e2202cbcaee6f1fd22fc7efd1c15
diff --git a/scouting/www/app/app.ts b/scouting/www/app/app.ts
index 16e3197..011c94f 100644
--- a/scouting/www/app/app.ts
+++ b/scouting/www/app/app.ts
@@ -13,7 +13,7 @@
const unguardedTabs: Tab[] = ['MatchList'];
type TeamInMatch = {
- teamNumber: number;
+ teamNumber: string;
matchNumber: number;
setNumber: number;
compLevel: string;
@@ -26,7 +26,7 @@
})
export class App {
selectedTeamInMatch: TeamInMatch = {
- teamNumber: 1,
+ teamNumber: '1',
matchNumber: 1,
setNumber: 1,
compLevel: 'qm',
diff --git a/scouting/www/driver_ranking/driver_ranking.component.ts b/scouting/www/driver_ranking/driver_ranking.component.ts
index f61d901..09f62c2 100644
--- a/scouting/www/driver_ranking/driver_ranking.component.ts
+++ b/scouting/www/driver_ranking/driver_ranking.component.ts
@@ -18,7 +18,7 @@
section: Section = 'TeamSelection';
// Stores the team keys and rank (order of the array).
- team_ranking: number[] = [971, 972, 973];
+ team_ranking: string[] = ['971', '972', '973'];
match_number: number = 1;
@@ -58,13 +58,16 @@
async submitData() {
const builder = new Builder();
+ const teamRanking1 = builder.createString(this.team_ranking[0]);
+ const teamRanking2 = builder.createString(this.team_ranking[1]);
+ const teamRanking3 = builder.createString(this.team_ranking[2]);
builder.finish(
SubmitDriverRanking.createSubmitDriverRanking(
builder,
this.match_number,
- this.team_ranking[0],
- this.team_ranking[1],
- this.team_ranking[2]
+ teamRanking1,
+ teamRanking2,
+ teamRanking3
)
);
const buffer = builder.asUint8Array();
@@ -88,6 +91,6 @@
// Reset Data.
this.section = 'TeamSelection';
- this.team_ranking = [971, 972, 973];
+ this.team_ranking = ['971', '972', '973'];
}
}
diff --git a/scouting/www/driver_ranking/driver_ranking.ng.html b/scouting/www/driver_ranking/driver_ranking.ng.html
index 1fa1bc8..d361c9d 100644
--- a/scouting/www/driver_ranking/driver_ranking.ng.html
+++ b/scouting/www/driver_ranking/driver_ranking.ng.html
@@ -18,9 +18,7 @@
<input
*ngFor="let x of [1,2,3]; let i = index;"
[(ngModel)]="team_ranking[i]"
- type="number"
- min="1"
- max="9999"
+ type="text"
id="team_input_{{i}}"
/>
<button
diff --git a/scouting/www/entry/entry.component.ts b/scouting/www/entry/entry.component.ts
index 4b60ac1..5a93251 100644
--- a/scouting/www/entry/entry.component.ts
+++ b/scouting/www/entry/entry.component.ts
@@ -115,8 +115,7 @@
section: Section = 'Team Selection';
@Input() matchNumber: number = 1;
- // TODO(phil): Change the type of teamNumber to a string.
- @Input() teamNumber: number = 1;
+ @Input() teamNumber: string = '1';
@Input() setNumber: number = 1;
@Input() compLevel: CompLevel = 'qm';
@Input() skipTeamSelection = false;
@@ -173,7 +172,7 @@
if (this.teamNumber == null) {
return false;
}
- const teamNumber = this.teamNumber.toString();
+ const teamNumber = this.teamNumber;
for (const match of this.matchList) {
if (
@@ -392,7 +391,7 @@
actionOffsets.push(actionOffset);
}
}
- const teamNumberFb = builder.createString(this.teamNumber.toString());
+ const teamNumberFb = builder.createString(this.teamNumber);
const compLevelFb = builder.createString(this.compLevel);
const actionsVector = SubmitActions.createActionsListVector(
diff --git a/scouting/www/entry/entry.ng.html b/scouting/www/entry/entry.ng.html
index ada96ff..43575cd 100644
--- a/scouting/www/entry/entry.ng.html
+++ b/scouting/www/entry/entry.ng.html
@@ -26,10 +26,8 @@
<input
[(ngModel)]="teamNumber"
(ngModelChange)="updateTeamSelectionValidity()"
- type="number"
+ type="text"
id="team_number"
- min="1"
- max="9999"
/>
</div>
<div class="row">
diff --git a/scouting/www/notes/notes.component.ts b/scouting/www/notes/notes.component.ts
index 2786717..3848c22 100644
--- a/scouting/www/notes/notes.component.ts
+++ b/scouting/www/notes/notes.component.ts
@@ -48,7 +48,7 @@
}
interface Input {
- teamNumber: number;
+ teamNumber: string;
notesData: string;
keywordsData: Keywords;
}
@@ -79,7 +79,7 @@
section: Section = 'TeamSelection';
errorMessage = '';
- teamNumberSelection: number = 971;
+ teamNumberSelection: string = '971';
// Data inputted by user is stored in this array.
// Includes the team number, notes, and keyword selection.
@@ -145,10 +145,12 @@
const builder = new Builder();
const dataFb = builder.createString(this.newData[i].notesData);
+ const teamNumber = builder.createString(this.newData[i].teamNumber);
+
builder.finish(
SubmitNotes.createSubmitNotes(
builder,
- this.newData[i].teamNumber,
+ teamNumber,
dataFb,
this.newData[i].keywordsData.goodDriving,
this.newData[i].keywordsData.badDriving,
diff --git a/scouting/www/notes/notes.ng.html b/scouting/www/notes/notes.ng.html
index cb5e8ef..d7262b3 100644
--- a/scouting/www/notes/notes.ng.html
+++ b/scouting/www/notes/notes.ng.html
@@ -9,10 +9,8 @@
</label>
<input
[(ngModel)]="teamNumberSelection"
- type="number"
+ type="text"
id="team_number_notes"
- min="1"
- max="9999"
/>
<button class="btn btn-primary" (click)="setTeamNumber()">Select</button>
</div>
diff --git a/scouting/www/pit_scouting/pit_scouting.component.ts b/scouting/www/pit_scouting/pit_scouting.component.ts
index b74c119..fe14090 100644
--- a/scouting/www/pit_scouting/pit_scouting.component.ts
+++ b/scouting/www/pit_scouting/pit_scouting.component.ts
@@ -6,7 +6,7 @@
type Section = 'TeamSelection' | 'Data';
interface Input {
- teamNumber: number;
+ teamNumber: string;
pitImage: HTMLImageElement;
}
@@ -19,7 +19,7 @@
section: Section = 'Data';
errorMessage = '';
- teamNumber: number = 971;
+ teamNumber: string = '971';
pitImage: string = '';
async readFile(file): Promise<ArrayBuffer> {
@@ -41,7 +41,7 @@
async submitData() {
const builder = new Builder();
- const teamNumber = builder.createString(this.teamNumber.toString());
+ const teamNumber = builder.createString(this.teamNumber);
const pitImage = builder.createString(this.pitImage.toString());
const imageData = SubmitPitImage.createImageDataVector(
builder,
diff --git a/scouting/www/pit_scouting/pit_scouting.ng.html b/scouting/www/pit_scouting/pit_scouting.ng.html
index 98aa313..9e90d2d 100644
--- a/scouting/www/pit_scouting/pit_scouting.ng.html
+++ b/scouting/www/pit_scouting/pit_scouting.ng.html
@@ -4,13 +4,7 @@
<ng-container [ngSwitch]="section">
<div *ngSwitchCase="'Data'" id="pitImageSelection" class="container-fluid">
<label for="teamNumber">Team Number</label>
- <input
- [(ngModel)]="teamNumber"
- type="string"
- id="teamNumber"
- min="1"
- max="9999"
- />
+ <input [(ngModel)]="teamNumber" type="text" id="teamNumber" />
<form action="setPitImage()">
<label for="pitImage">Select pit image:</label>
<br />
diff --git a/scouting/www/view/view.component.ts b/scouting/www/view/view.component.ts
index c75f83b..26e816b 100644
--- a/scouting/www/view/view.component.ts
+++ b/scouting/www/view/view.component.ts
@@ -69,11 +69,19 @@
this.ascendingSort = !this.ascendingSort;
if (!this.ascendingSort) {
this.driverRankingList.sort((a, b) => b.matchNumber() - a.matchNumber());
- this.noteList.sort((a, b) => b.team() - a.team());
+ this.noteList.sort(function (a, b) {
+ return b[0]
+ .team()
+ .localeCompare(a[0].team(), undefined, {numeric: true});
+ });
this.statList.sort((a, b) => b.matchNumber() - a.matchNumber());
} else {
this.driverRankingList.sort((a, b) => a.matchNumber() - b.matchNumber());
- this.noteList.sort((a, b) => a.team() - b.team());
+ this.noteList.sort(function (a, b) {
+ return a[0]
+ .team()
+ .localeCompare(b[0].team(), undefined, {numeric: true});
+ });
this.statList.sort((a, b) => a.matchNumber() - b.matchNumber());
}
}