aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/videos/video-list
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-05-05 16:08:43 +0200
committerChocobozzz <florian.bigard@gmail.com>2017-05-05 16:08:43 +0200
commit1f0215a908c3b447cef03c10d4b089c0788922bd (patch)
tree2968e02707debeb91dfad0c5234da90d1e59ec38 /client/src/app/videos/video-list
parentc24ac1c18e26b6a24a4d294744908fb0c53ddf3c (diff)
downloadPeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.tar.gz
PeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.tar.zst
PeerTube-1f0215a908c3b447cef03c10d4b089c0788922bd.zip
Client: little refractoring
Diffstat (limited to 'client/src/app/videos/video-list')
-rw-r--r--client/src/app/videos/video-list/index.ts1
-rw-r--r--client/src/app/videos/video-list/loader.component.html3
-rw-r--r--client/src/app/videos/video-list/loader.component.scss22
-rw-r--r--client/src/app/videos/video-list/loader.component.ts11
-rw-r--r--client/src/app/videos/video-list/video-list.component.scss13
-rw-r--r--client/src/app/videos/video-list/video-list.component.ts5
-rw-r--r--client/src/app/videos/video-list/video-miniature.component.html2
-rw-r--r--client/src/app/videos/video-list/video-miniature.component.scss5
-rw-r--r--client/src/app/videos/video-list/video-miniature.component.ts10
9 files changed, 39 insertions, 33 deletions
diff --git a/client/src/app/videos/video-list/index.ts b/client/src/app/videos/video-list/index.ts
index 1f6d6a4e7..71d3b78e6 100644
--- a/client/src/app/videos/video-list/index.ts
+++ b/client/src/app/videos/video-list/index.ts
@@ -1,3 +1,4 @@
1export * from './loader.component';
1export * from './video-list.component'; 2export * from './video-list.component';
2export * from './video-miniature.component'; 3export * from './video-miniature.component';
3export * from './video-sort.component'; 4export * from './video-sort.component';
diff --git a/client/src/app/videos/video-list/loader.component.html b/client/src/app/videos/video-list/loader.component.html
new file mode 100644
index 000000000..38d06950e
--- /dev/null
+++ b/client/src/app/videos/video-list/loader.component.html
@@ -0,0 +1,3 @@
1<div id="video-loading" *ngIf="loading">
2 <div class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></div>
3</div>
diff --git a/client/src/app/videos/video-list/loader.component.scss b/client/src/app/videos/video-list/loader.component.scss
new file mode 100644
index 000000000..44cf1f9da
--- /dev/null
+++ b/client/src/app/videos/video-list/loader.component.scss
@@ -0,0 +1,22 @@
1// Thanks https://gist.github.com/alexandrevicenzi/680147013e902a4eaa5d
2.glyphicon-refresh-animate {
3 -animation: spin .7s infinite linear;
4 -ms-animation: spin .7s infinite linear;
5 -webkit-animation: spinw .7s infinite linear;
6 -moz-animation: spinm .7s infinite linear;
7}
8
9@keyframes spin {
10 from { transform: scale(1) rotate(0deg);}
11 to { transform: scale(1) rotate(360deg);}
12}
13
14@-webkit-keyframes spinw {
15 from { -webkit-transform: rotate(0deg);}
16 to { -webkit-transform: rotate(360deg);}
17}
18
19@-moz-keyframes spinm {
20 from { -moz-transform: rotate(0deg);}
21 to { -moz-transform: rotate(360deg);}
22}
diff --git a/client/src/app/videos/video-list/loader.component.ts b/client/src/app/videos/video-list/loader.component.ts
new file mode 100644
index 000000000..e72d2f3f3
--- /dev/null
+++ b/client/src/app/videos/video-list/loader.component.ts
@@ -0,0 +1,11 @@
1import { Component, Input } from '@angular/core';
2
3@Component({
4 selector: 'my-loader',
5 styleUrls: [ './loader.component.scss' ],
6 templateUrl: './loader.component.html'
7})
8
9export class LoaderComponent {
10 @Input() loading: boolean;
11}
diff --git a/client/src/app/videos/video-list/video-list.component.scss b/client/src/app/videos/video-list/video-list.component.scss
index b48a4f125..4b4409602 100644
--- a/client/src/app/videos/video-list/video-list.component.scss
+++ b/client/src/app/videos/video-list/video-list.component.scss
@@ -23,19 +23,6 @@
23 23
24 my-video-miniature { 24 my-video-miniature {
25 text-align: left; 25 text-align: left;
26 transition: all 0.5s ease;
27
28 &.ng-enter {
29 opacity: 0;
30 }
31
32 &.ng-enter-active {
33 opacity: 1;
34 }
35
36 &.ng-leave {
37 opacity: 0;
38 }
39 } 26 }
40 27
41 .no-video { 28 .no-video {
diff --git a/client/src/app/videos/video-list/video-list.component.ts b/client/src/app/videos/video-list/video-list.component.ts
index 16e1b5bcc..16a40bdc4 100644
--- a/client/src/app/videos/video-list/video-list.component.ts
+++ b/client/src/app/videos/video-list/video-list.component.ts
@@ -76,10 +76,7 @@ export class VideoListComponent implements OnInit, OnDestroy {
76 this.loading.next(true); 76 this.loading.next(true);
77 this.videos = []; 77 this.videos = [];
78 78
79 this.changeDetector.detectChanges();
80
81 let observable = null; 79 let observable = null;
82
83 if (this.search.value) { 80 if (this.search.value) {
84 observable = this.videoService.searchVideos(this.search, this.pagination, this.sort); 81 observable = this.videoService.searchVideos(this.search, this.pagination, this.sort);
85 } else { 82 } else {
@@ -150,8 +147,6 @@ export class VideoListComponent implements OnInit, OnDestroy {
150 } else { 147 } else {
151 this.pagination.currentPage = 1; 148 this.pagination.currentPage = 1;
152 } 149 }
153
154 this.changeDetector.detectChanges();
155 } 150 }
156 151
157 private navigateToNewParams() { 152 private navigateToNewParams() {
diff --git a/client/src/app/videos/video-list/video-miniature.component.html b/client/src/app/videos/video-list/video-miniature.component.html
index 1d3451c2b..648ef61b1 100644
--- a/client/src/app/videos/video-list/video-miniature.component.html
+++ b/client/src/app/videos/video-list/video-miniature.component.html
@@ -1,4 +1,4 @@
1<div class="video-miniature" (mouseenter)="onHover()" (mouseleave)="onBlur()"> 1<div class="video-miniature">
2 <a 2 <a
3 [routerLink]="['/videos/watch', video.id]" [attr.title]="video.description" 3 [routerLink]="['/videos/watch', video.id]" [attr.title]="video.description"
4 class="video-miniature-thumbnail" 4 class="video-miniature-thumbnail"
diff --git a/client/src/app/videos/video-list/video-miniature.component.scss b/client/src/app/videos/video-list/video-miniature.component.scss
index f7fecdc35..c2743c3be 100644
--- a/client/src/app/videos/video-list/video-miniature.component.scss
+++ b/client/src/app/videos/video-list/video-miniature.component.scss
@@ -1,5 +1,3 @@
1@import "../../../sass/pre-customizations.scss";
2
3.video-miniature { 1.video-miniature {
4 margin-top: 30px; 2 margin-top: 30px;
5 display: inline-block; 3 display: inline-block;
@@ -71,7 +69,7 @@
71 } 69 }
72 70
73 .video-miniature-tags { 71 .video-miniature-tags {
74 // Fix for chrome when tags a long 72 // Fix for chrome when tags are long
75 width: 201px; 73 width: 201px;
76 74
77 .video-miniature-tag { 75 .video-miniature-tag {
@@ -81,7 +79,6 @@
81 top: -2px; 79 top: -2px;
82 80
83 .label { 81 .label {
84 line-height: $line-height-base;
85 transition: background-color 0.2s; 82 transition: background-color 0.2s;
86 } 83 }
87 } 84 }
diff --git a/client/src/app/videos/video-list/video-miniature.component.ts b/client/src/app/videos/video-list/video-miniature.component.ts
index 13deec381..28601ca7f 100644
--- a/client/src/app/videos/video-list/video-miniature.component.ts
+++ b/client/src/app/videos/video-list/video-miniature.component.ts
@@ -17,8 +17,6 @@ export class VideoMiniatureComponent {
17 @Input() user: User; 17 @Input() user: User;
18 @Input() video: Video; 18 @Input() video: Video;
19 19
20 hovering = false;
21
22 constructor( 20 constructor(
23 private notificationsService: NotificationsService, 21 private notificationsService: NotificationsService,
24 private confirmService: ConfirmService, 22 private confirmService: ConfirmService,
@@ -33,14 +31,6 @@ export class VideoMiniatureComponent {
33 return this.video.name; 31 return this.video.name;
34 } 32 }
35 33
36 onBlur() {
37 this.hovering = false;
38 }
39
40 onHover() {
41 this.hovering = true;
42 }
43
44 isVideoNSFWForThisUser() { 34 isVideoNSFWForThisUser() {
45 return this.video.isVideoNSFWForUser(this.user); 35 return this.video.isVideoNSFWForUser(this.user);
46 } 36 }