]>
Commit | Line | Data |
---|---|---|
1 | <h3>Upload a video</h3> | |
2 | ||
3 | <form (ngSubmit)="uploadFile()" #videoForm="ngForm"> | |
4 | <div class="form-group"> | |
5 | <label for="name">Video name</label> | |
6 | <input | |
7 | type="text" class="form-control" name="name" id="name" required | |
8 | ngControl="name" #name="ngForm" | |
9 | > | |
10 | <div [hidden]="name.valid || name.pristine" class="alert alert-danger"> | |
11 | Name is required | |
12 | </div> | |
13 | </div> | |
14 | ||
15 | <div class="form-group"> | |
16 | <div class="btn btn-default btn-file"> | |
17 | <span>Select the video...</span> | |
18 | <input type="file" name="videofile" id="videofile"> | |
19 | </div> | |
20 | ||
21 | <span *ngIf="fileToUpload">{{ fileToUpload.name }}</span> | |
22 | </div> | |
23 | ||
24 | <div class="form-group"> | |
25 | <label for="description">Description</label> | |
26 | <textarea | |
27 | name="description" id="description" class="form-control" placeholder="Description..." required | |
28 | ngControl="description" #description="ngForm" | |
29 | > | |
30 | </textarea> | |
31 | <div [hidden]="description.valid || description.pristine" class="alert alert-danger"> | |
32 | A description is required | |
33 | </div> | |
34 | </div> | |
35 | ||
36 | <div id="progress" *ngIf="progressBar.max !== 0"> | |
37 | <progressbar [value]="progressBar.value" [max]="progressBar.max">{{ progressBar.value | bytes }} / {{ progressBar.max | bytes }}</progressbar> | |
38 | </div> | |
39 | ||
40 | <input type="submit" value="Upload" class="btn btn-default" [disabled]="!videoForm.form.valid || !fileToUpload"> | |
41 | </form> |