]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - client/src/app/videos/video-add/video-add.component.html
Dirty update to Angular RC6
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / video-add / video-add.component.html
... / ...
CommitLineData
1<h3>Upload a video</h3>
2
3<div *ngIf="error" class="alert alert-danger">{{ error }}</div>
4
5<form novalidate (ngSubmit)="upload()" [formGroup]="videoForm">
6 <div class="form-group">
7 <label for="name">Name</label>
8 <input
9 type="text" class="form-control" name="name" id="name"
10 [(ngModel)]="video.name"
11 >
12 <div [hidden]="videoForm.controls.name.valid || videoForm.controls.name.pristine" class="alert alert-warning">
13 A name is required and should be between 3 and 50 characters long
14 </div>
15 </div>
16
17 <div class="form-group">
18 <label for="tags">Tags</label>
19 <input
20 type="text" class="form-control" name="tags" id="tags"
21 [disabled]="isTagsInputDisabled" (keyup)="onTagKeyPress($event)" [(ngModel)]="currentTag"
22 >
23 <div [hidden]="videoForm.controls.tags.valid || videoForm.controls.tags.pristine" class="alert alert-warning">
24 A tag should be between 2 and 10 characters (alphanumeric) long
25 </div>
26 </div>
27
28 <div class="tags">
29 <div class="label label-primary tag" *ngFor="let tag of video.tags">
30 {{ tag }}
31 <span class="remove" (click)="removeTag(tag)">x</span>
32 </div>
33 </div>
34
35 <div class="form-group">
36 <label for="videofile">File</label>
37 <div class="btn btn-default btn-file" [ngClass]="{ 'disabled': filename !== null }" >
38 <span>Select the video...</span>
39 <input
40 type="file" name="videofile" id="videofile"
41 ng2FileSelect [uploader]="uploader" [disabled]="filename !== null"
42 >
43 </div>
44 </div>
45
46 <div class="file-to-upload">
47 <div class="file" *ngIf="uploader.queue.length > 0">
48 <span class="filename">{{ filename }}</span>
49 <span class="glyphicon glyphicon-remove" (click)="removeFile()"></span>
50 </div>
51 </div>
52
53 <div class="form-group">
54 <label for="description">Description</label>
55 <textarea
56 name="description" id="description" class="form-control" placeholder="Description..."
57 [(ngModel)]="video.description"
58 >
59 </textarea>
60 <div [hidden]="videoForm.controls.description.valid || videoForm.controls.description.pristine" class="alert alert-warning">
61 A description is required and should be between 3 and 250 characters long
62 </div>
63 </div>
64
65 <div class="progress">
66 <progressbar [value]="uploader.progress" max="100"></progressbar>
67 </div>
68
69 <div class="form-group">
70 <input
71 type="submit" value="Upload" class="btn btn-default form-control" [title]="getInvalidFieldsTitle()"
72 [disabled]="!videoForm.valid || video.tags.length === 0 || filename === null"
73 >
74 </div>
75</form>