| <div class="header"> |
| <h2>Notes</h2> |
| </div> |
| |
| <ng-container [ngSwitch]="section"> |
| <div *ngSwitchCase="'TeamSelection'"> |
| <div class="row"> |
| <label id="team_number_label" class="label" for="team_number_notes"> |
| Team Number |
| </label> |
| <input [(ngModel)]="teamNumber" type="text" id="team_number_notes" /> |
| </div> |
| <div class="row"> |
| <label for="match_number_notes">Match Number</label> |
| <input |
| [(ngModel)]="matchNumber" |
| type="number" |
| id="match_number_notes" |
| min="1" |
| max="999" |
| /> |
| </div> |
| <div class="row"> |
| <label for="set_number_notes">Set Number</label> |
| <input |
| [(ngModel)]="setNumber" |
| type="number" |
| id="set_number_notes" |
| min="1" |
| max="10" |
| /> |
| </div> |
| <div class="row"> |
| <label for="comp_level_notes">Comp Level</label> |
| <select [(ngModel)]="compLevel" type="number" id="comp_level_notes"> |
| <option *ngFor="let level of COMP_LEVELS" [ngValue]="level"> |
| {{COMP_LEVEL_LABELS[level]}} |
| </option> |
| </select> |
| </div> |
| <button class="btn btn-primary" (click)="setTeamData()">Select</button> |
| </div> |
| |
| <div *ngSwitchCase="'Data'"> |
| <div class="container-main" *ngFor="let team of newData; let i = index"> |
| <div class="pt-2 pb-2"> |
| <div class="d-flex flex-row"> |
| <div> |
| <button |
| class="btn bg-transparent ml-10 md-5" |
| (click)="removeTeam(i)" |
| > |
| ✖ |
| <!--X Symbol--> |
| </button> |
| </div> |
| <div><h3 id="team-key-{{i+1}}">{{team.teamNumber}}</h3></div> |
| </div> |
| <div class=""> |
| <!-- |
| Note Input Text Areas. |
| ID property is used for keyboard shorcuts to focus |
| on the corresponding text area. |
| The data-toggle and title properties are |
| used for bootstrap tooltips. |
| --> |
| <textarea |
| class="text-input" |
| id="text-input-{{i+1}}" |
| [(ngModel)]="newData[i].notesData" |
| data-toggle="tooltip" |
| title="Ctrl + {{i+1}}" |
| ></textarea> |
| </div> |
| <!--Key Word Checkboxes--> |
| <!--Row 1 (Prevent Overflow on mobile by splitting checkboxes into 2 rows)--> |
| <!--Slice KEYWORD_CHECKBOX_LABELS using https://angular.io/api/common/SlicePipe--> |
| <div class="d-flex flex-row justify-content-around"> |
| <div |
| *ngFor="let key of Object.keys(KEYWORD_CHECKBOX_LABELS) | slice:0:((Object.keys(KEYWORD_CHECKBOX_LABELS).length)/2); let k = index" |
| > |
| <div class="form-check"> |
| <input |
| class="form-check-input" |
| [(ngModel)]="newData[i]['keywordsData'][key]" |
| type="checkbox" |
| id="{{labelToId(KEYWORD_CHECKBOX_LABELS[key])}}_{{i}}" |
| name="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| /> |
| <label |
| class="form-check-label" |
| for="{{KEYWORD_CHECKBOX_LABELS[key]}}_{{i}}" |
| > |
| {{KEYWORD_CHECKBOX_LABELS[key]}} |
| </label> |
| <br /> |
| </div> |
| </div> |
| </div> |
| <!--Row 2 (Prevent Overflow on mobile by splitting checkboxes into 2 rows)--> |
| <div class="d-flex flex-row justify-content-around"> |
| <div |
| *ngFor="let key of Object.keys(KEYWORD_CHECKBOX_LABELS) | slice:4:(Object.keys(KEYWORD_CHECKBOX_LABELS).length); let k = index" |
| > |
| <div class="form-check"> |
| <input |
| class="form-check-input" |
| [(ngModel)]="newData[i]['keywordsData'][key]" |
| type="checkbox" |
| id="{{labelToId(KEYWORD_CHECKBOX_LABELS[key])}}" |
| name="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| /> |
| <label |
| class="form-check-label" |
| for="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| > |
| {{KEYWORD_CHECKBOX_LABELS[key]}} |
| </label> |
| <br /> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="d-flex flex-row justify-content-center pt-2"> |
| <div> |
| <button |
| id="add-team-button" |
| class="btn btn-secondary" |
| (click)="addTeam()" |
| > |
| Add team |
| </button> |
| </div> |
| <div> |
| <button |
| id="submit-button" |
| class="btn btn-success" |
| (click)="submitData()" |
| > |
| Submit |
| </button> |
| </div> |
| </div> |
| </div> |
| |
| <div class="error">{{errorMessage}}</div> |
| </ng-container> |