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