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