Alex Perry | bb90105 | 2022-03-23 19:46:15 -0700 | [diff] [blame] | 1 | <h2>Notes</h2> |
| 2 | |
| 3 | <ng-container [ngSwitch]="section"> |
| 4 | <div *ngSwitchCase="'TeamSelection'"> |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 5 | <label class="label" for="team_number_notes">Team Number</label> |
Philipp Schrader | 817cce3 | 2022-03-26 15:00:00 -0700 | [diff] [blame] | 6 | <input |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 7 | [(ngModel)]="teamNumberSelection" |
Philipp Schrader | 817cce3 | 2022-03-26 15:00:00 -0700 | [diff] [blame] | 8 | type="number" |
| 9 | id="team_number_notes" |
| 10 | min="1" |
| 11 | max="9999" |
| 12 | /> |
Alex Perry | bb90105 | 2022-03-23 19:46:15 -0700 | [diff] [blame] | 13 | <button class="btn btn-primary" (click)="setTeamNumber()">Select</button> |
| 14 | </div> |
| 15 | |
| 16 | <div *ngSwitchCase="'Data'"> |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 17 | <div class="container-main" *ngFor="let team of newData; let i = index"> |
| 18 | <div class="pt-2 pb-2"> |
| 19 | <div class="d-flex flex-row"> |
| 20 | <div> |
| 21 | <button |
| 22 | class="btn bg-transparent ml-10 md-5" |
| 23 | (click)="removeTeam(i)" |
| 24 | > |
| 25 | ✖ |
| 26 | <!--X Symbol--> |
| 27 | </button> |
| 28 | </div> |
| 29 | <div><h3>{{team.teamNumber}}</h3></div> |
| 30 | </div> |
| 31 | <div class=""> |
Filip Kujawa | 7dd4995 | 2022-12-02 12:09:13 -0800 | [diff] [blame^] | 32 | <!-- |
| 33 | Note Input Text Areas. |
| 34 | ID property is used for keyboard shorcuts to focus |
| 35 | on the corresponding text area. |
| 36 | The data-toggle and title properties are |
| 37 | used for bootstrap tooltips. |
| 38 | --> |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 39 | <textarea |
| 40 | class="text-input" |
Filip Kujawa | 7dd4995 | 2022-12-02 12:09:13 -0800 | [diff] [blame^] | 41 | id="text-input-{{i+1}}" |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 42 | [(ngModel)]="newData[i].notesData" |
Filip Kujawa | 7dd4995 | 2022-12-02 12:09:13 -0800 | [diff] [blame^] | 43 | data-toggle="tooltip" |
| 44 | title="Ctrl + {{i+1}}" |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 45 | ></textarea> |
| 46 | </div> |
| 47 | <!--Key Word Checkboxes--> |
| 48 | <!--Row 1 (Prevent Overflow on mobile by splitting checkboxes into 2 rows)--> |
| 49 | <!--Slice KEYWORD_CHECKBOX_LABELS using https://angular.io/api/common/SlicePipe--> |
| 50 | <div class="d-flex flex-row justify-content-around"> |
| 51 | <div |
| 52 | *ngFor="let key of Object.keys(KEYWORD_CHECKBOX_LABELS) | slice:0:((Object.keys(KEYWORD_CHECKBOX_LABELS).length)/2); let k = index" |
| 53 | > |
| 54 | <div class="form-check"> |
| 55 | <input |
| 56 | class="form-check-input" |
| 57 | [(ngModel)]="newData[i]['keywordsData'][key]" |
| 58 | type="checkbox" |
| 59 | id="{{KEYWORD_CHECKBOX_LABELS[key]}}_{{i}}" |
| 60 | name="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| 61 | /> |
| 62 | <label |
| 63 | class="form-check-label" |
| 64 | for="{{KEYWORD_CHECKBOX_LABELS[key]}}_{{i}}" |
| 65 | > |
| 66 | {{KEYWORD_CHECKBOX_LABELS[key]}} |
| 67 | </label> |
| 68 | <br /> |
| 69 | </div> |
| 70 | </div> |
| 71 | </div> |
| 72 | <!--Row 2 (Prevent Overflow on mobile by splitting checkboxes into 2 rows)--> |
| 73 | <div class="d-flex flex-row justify-content-around"> |
| 74 | <div |
| 75 | *ngFor="let key of Object.keys(KEYWORD_CHECKBOX_LABELS) | slice:3:(Object.keys(KEYWORD_CHECKBOX_LABELS).length); let k = index" |
| 76 | > |
| 77 | <div class="form-check"> |
| 78 | <input |
| 79 | class="form-check-input" |
| 80 | [(ngModel)]="newData[i]['keywordsData'][key]" |
| 81 | type="checkbox" |
| 82 | id="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| 83 | name="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| 84 | /> |
| 85 | <label |
| 86 | class="form-check-label" |
| 87 | for="{{KEYWORD_CHECKBOX_LABELS[key]}}" |
| 88 | > |
| 89 | {{KEYWORD_CHECKBOX_LABELS[key]}} |
| 90 | </label> |
| 91 | <br /> |
| 92 | </div> |
| 93 | </div> |
| 94 | </div> |
| 95 | </div> |
| 96 | </div> |
| 97 | <div class="d-flex flex-row justify-content-center pt-2"> |
| 98 | <div> |
| 99 | <button class="btn btn-secondary" (click)="addTeam()">Add team</button> |
| 100 | </div> |
| 101 | <div> |
| 102 | <button class="btn btn-success" (click)="submitData()">Submit</button> |
| 103 | </div> |
Alex Perry | bb90105 | 2022-03-23 19:46:15 -0700 | [diff] [blame] | 104 | </div> |
| 105 | </div> |
Filip Kujawa | f947cb4 | 2022-11-21 10:00:30 -0800 | [diff] [blame] | 106 | |
Philipp Schrader | 817cce3 | 2022-03-26 15:00:00 -0700 | [diff] [blame] | 107 | <div class="error">{{errorMessage}}</div> |
Alex Perry | bb90105 | 2022-03-23 19:46:15 -0700 | [diff] [blame] | 108 | </ng-container> |